背景
由于近期国内docker镜像地址失效(2024年6月份开始),导致pull docker 镜像总是超时。
涉及到的网址和工具
- https://github.com/tech-shrimp/docker_image_pusher
- https://hub.docker.com/search
- 阿里云
GITHUB配置
fork
https://github.com/tech-shrimp/docker_image_pusher 该项目到自己的账户下。
设置环境变量,其路径如下图
在该项目中 .github/workflows/docker.yaml
找到 env
标签
ALIYUN_REGISTRY: "${{ secrets.ALIYUN_REGISTRY }}"ALIYUN_NAME_SPACE: "${{ secrets.ALIYUN_NAME_SPACE }}"ALIYUN_REGISTRY_USER: "${{ secrets.ALIYUN_REGISTRY_USER }}"ALIYUN_REGISTRY_PASSWORD: "${{ secrets.ALIYUN_REGISTRY_PASSWORD }}"
将ALIYUN_REGISTRY
, ALIYUN_NAME_SPACE
, ALIYUN_REGISTRY_USER
, ALIYUN_REGISTRY_PASSWORD
四个作为 Name
分别填入(如上图), Secret
值是需要申请阿里云设置好,粘贴过来。在下节阿里云配置中详细告诉如何配置。
完成上述四个变量参数的设置后,在Actions
中如下点击。
这样github基本完成配置
阿里云配置
-
搜:“容器镜像服务acr”
-
进入个人实例
-
分别可以获取密码
ALIYUN_REGISTRY_PASSWORD
,用户名ALIYUN_REGISTRY_USER
,设置 “固定密码”ALIYUN_REGISTRY_PASSWORD
。再进入 “命名空间” -> “创建命名空间”ALIYUN_NAME_SPACE
。
-
将加速器地址拷贝下来,写入到
docker/daemon.json
中的registry-mirrors
地址列表中。方便本地docker 拉取镜像。
拉取镜像
- https://hub.docker.com/search 寻找自己要的镜像。比如
mysql
- 回到
github
的docker_image_pusher
项目,修改images.txt
文件,然后提交保存(可以将默认配置删除)。
- 想要看是否正确配置,可以看该处。这里正在拉取镜像到阿里云的 “命名空间”
- 执行完成后,就可以在阿里云的 “镜像仓库” 看到自己需要的镜像了。
- 本地拉取。进入详情页有操作指南。