学习笔记
Java基础相关
JVM内存模型及线程空间
动态代理
java并发编程
Java中Future
移动端相关
杂乱整理
开发工具相关
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一键安装命令软件列表
Java基础知识
精选网站
有声主播知识
学习笔记
有声主播入门到进阶
有声主播新手的入门练手内容推荐
DeepSeek分析喜马拉雅旗下 喜播平台 的有声主播培训
录书设备资料1
典故专辑资料整理
0B. 脚本和大纲
01. 柳赠别——灞桥烟雨中的离愁
0A. 前置准备资料
Ai大数据模型
模型整理
使用 DeepSeek 通用公式
学会这8招,让DeepSeek变得超好用!
大数据购物分析选优
Windows和Ubuntu部署DeepSeek性能差距
本地部署 Ollam+DeepSeek 探索爬坑
模型对比测试
-
+
首页
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文件
分享
链接
类型
密码
更新密码