学习笔记
Java基础相关
JVM内存模型及线程空间
动态代理
java并发编程
Java中Future
移动端相关
杂乱整理
HarmonyOS 鸿蒙开发知识
ArkTS中如何自定义组件和复用统一样式
开发工具相关
Git cmd学习整理
Markdown用法大全集
【2023年12月】工作常用
Git如何单独合并某次提交到另一个分支
前端开发相关
Node+TypeScript相关记录
TypeScript 读写 MariaDB
Node TypeScript项目 token生成、管理及拦截校验的实现
TypeScript+Express创建和实现一个服务示例
Express接口处理器抽取注册方式
Express 实现 RESTful API
创建 TypeScript Express 项目,并配置直接用 npm start 运行
TypeScript + Express 实现文件下载接口
export 和 export default的区别
TypeScript+Express 实现用户注册和登录接口
TypeScript 和 JavaScript 中,`===` 和 `==`
CSS中的尺寸大小标准
小程序px和rpx
使用Python快速处理Excel的合并拆分
读书写作相关
一些句子01
李敖语录
罗翔老师的一些经典语句
周易相关知识
周易是对自然描述还是为自然立法
40句落寞诗词,穿透柔魂弱魄
杂玩整理
黑苹果睿频问题
基于纯Linux自己部署Nas构思
Ubuntu换源
Ubuntu挂载tf卡
Ubuntu运行Docker报错
Ubuntu安装运行Docker报错处理
官方镜像安装Docker
Docker 设置root dir 切换数据到其他存储位置
systemctl stop docker 报错
NextCloud安装ffmpeg 显示视频缩略图
Docker源不生效解决方式
Docker源不生效解决方式II——搭建docker-hub镜像
搞定群晖总Docker部署gitea启用ssh协议
MacOS一键安装命令软件列表
群晖ssl证书目录
Android通过ADB命令播放视频
Java基础知识
精选网站
有声主播知识
学习笔记
有声主播入门到进阶
有声主播新手的入门练手内容推荐
DeepSeek分析喜马拉雅旗下 喜播平台 的有声主播培训
录书设备资料1
典故专辑资料整理
0B. 脚本和大纲
01. 柳赠别——灞桥烟雨中的离愁
0A. 前置准备资料
Ai大数据模型
模型整理
使用 DeepSeek 通用公式
学会这8招,让DeepSeek变得超好用!
大数据购物分析选优
Windows和Ubuntu部署DeepSeek性能差距
本地部署 Ollam+DeepSeek 探索爬坑
模型对比测试
AI模型使用心得
小说创作需求说明书
-
+
首页
Docker源不生效解决方式II——搭建docker-hub镜像
上篇介绍了如何修改Docker镜像服务地址,使用别人提供的镜像地址来解决Docker无法拉取到镜像问题。但是在实际使用中也会存在几个问题:第一个是这些镜像大多是一些个人或者小团体在维护,很可能短期就会失效;第二个就是几个镜像的网速都一般,只能说可以用,不太让人满意。 鉴于这些原因,这几天我又在搞一个事情,那就是为什么不自己打一个镜像加速服务器单独给自己用呢? 这个想法的来源是一天逛万能的GitHub时候,偶然发现了一个项目[Docker-Proxy](https://github.com/dqzboy/Docker-Proxy?tab=readme-ov-file) 官方的介绍如下,2200Star。开来应该不错哦。  那么就开始搞起吧! #### 准备 搞这个镜像的前提是需要有一台境外的服务器,一个域名。 - 服务器 可以自己搜 “OracleCloud免费服务器 ”攻略就可以搞到了,如果搞不到免费的,把账号升级成付费账户但是创建主机时还选免费主机配置也可以(我就是这样搞的,但是据说有的人会被收费)。 - 域名 随便找个域名商,挑个自己喜欢域名,后缀选比如.top .wxy之类,大概也就是一年9块钱左右。 #### 工具 有了服务器,首先呢是先给服务器安装Docker我所有用到的的能力服务都依托于Docker平台运行。 1. 安装Docker 2. 推介安装 portainer.io容器来管理Docker容器 3. 推介安装nginx-proxy-manager容器来管理Nginx反代和https证书自动申请续期 已上步骤可以参考我之前发的 #### 搭建 1. 在自己选定路径下创建一个目录; 2. 在目录下创建docker-compose.yaml文件,内容如下: ```yaml services: ## docker hub dockerhub: container_name: reg-docker-hub image: dqzboy/registry:latest restart: always environment: - OTEL_TRACES_EXPORTER=none volumes: - ./registry/data:/var/lib/registry - ./registry-hub.yml:/etc/distribution/config.yml ports: - 51000:5000 networks: - registry-net ## UI registry-ui: container_name: registry-ui image: dqzboy/docker-registry-ui:latest environment: - DOCKER_REGISTRY_URL=http://reg-docker-hub:5000 - SECRET_KEY_BASE=9f18244a1e1179fa5aa4a06a335d01b2 - ENABLE_DELETE_IMAGES=true - NO_SSL_VERIFICATION=true restart: always ports: - 50000:8080 networks: - registry-net networks: registry-net: ``` 3. 创建registry-hub.yml文件 ```yml version: 0.1 log: fields: service: registry storage: filesystem: rootdirectory: /var/lib/registry delete: enabled: true cache: blobdescriptor: inmemory blobdescriptorsize: 10000 maintenance: uploadpurging: enabled: true age: 168h interval: 24h dryrun: false readonly: enabled: false http: addr: :5000 headers: X-Content-Type-Options: [nosniff] Access-Control-Allow-Origin: ['*'] Access-Control-Allow-Methods: ['HEAD', 'GET', 'OPTIONS', 'DELETE'] Access-Control-Allow-Headers: ['Authorization', 'Accept', 'Cache-Control'] Access-Control-Max-Age: [1728000] Access-Control-Allow-Credentials: [true] Access-Control-Expose-Headers: ['Docker-Content-Digest'] health: storagedriver: enabled: true interval: 10s threshold: 3 proxy: remoteurl: https://registry-1.docker.io username: password: ttl: 168h ``` 4. 直接运行`docker compose up -d`创建启动容器就好了。 5.配置Nginx反代,使用一开始推荐的nginx-proxy-manager容器,反代两个域名即可:一个是Docker配置用的镜像服务域名,另一个是ui管理界面的域名。 #### 使用 在docker的daemon.json配置文件中添加上镜像服务域名,然后重启docker程序即可。具体方式参照如下: ```shell [root@opc ~]# vim /etc/docker/daemon.json { "registry-mirrors": ["https://hub.your_domain_name"], "log-opts": { "max-size": "100m", "max-file": "5" } } systemctl restart docker ``` 本文涉及了一些前置知识和Linux的基本操作,Docker的基本操作。可能对新手不太友好,但是实在篇幅有限,个人时间和能力也有限。后续有时间再补上吧。诸位可以配合百度谷歌或者ChatGPT来使用。
嘿手大叔
2024年12月5日 19:12
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码