赞
踩
童鞋们最近是不是无法从docker hub中拉取镜像,我自己也是这种情况
那么今天给大家分享2个办法,
1、在daemon.json文件中添加一些国内还在服务的镜像站(可能某些镜像会没有)
一键配置如下
([ -f /etc/docker/daemon.json ] || mkdir -p /etc/docker) && echo '{ "registry-mirrors" : [ "https://docker.m.daocloud.io", "https://noohub.ru", "https://huecker.io", "https://dockerhub.timeweb.cloud" ] }' > /etc/docker/daemon.json && sudo systemctl restart docker && sleep 1 && docker info | grep -A 4 "Registry Mirrors"
2、使用Github Action + Skopeo 工具将镜像从Docker Hub同步到阿里云个人镜像仓库中,再从阿里云个人镜像仓库中拉取
必要条件:魔法、GitHub账号、阿里云账号
登陆https://help.aliyun.com/zh/acr/?source=5176.11533457&userCode=uelj47qf
选择容器服务、容器镜像服务,创建一个个人版实例
点击”个人实例“进去新建一个命名空间,并设置一个访问凭证密码
然后访问GitHub,登陆账户后新建一个仓库,我这里新建的仓库名为”docker-register“
点击仓库中的”setting”
再点击仓库中的“Action”,我这里是已经有工作流了,你们的新仓库会有一个选项“simple workflow”,新建一个workflow
文件内容如下
- name: Sync Image to Aliyun Example
-
- on:
- push:
- branches: [ "main" ]
- pull_request:
- branches: [ "main" ]
-
- jobs:
- build:
- runs-on: ubuntu-latest
-
- steps:
- - name: Git pull
- uses: actions/checkout@v3
-
- - name: Set up Docker Buildx
- uses: docker/setup-buildx-action@v2.9.1
-
- - name: Login to Docker Hub
- uses: docker/login-action@v2.2.0
- with:
- registry: registry.cn-hangzhou.aliyuncs.com
- username: 阿里云账号
- password: 固定访问密码
- logout: false
-
- - name: Use Skopeo Tools Sync Image to Docker Hub
- run: |
- skopeo copy docker://docker.io/hslr/sun-panel:1.4.0 docker://registry.cn-hangzhou.aliyuncs.com/weiyigeek/sun-panel:1.4.0
- # 使用 skopeo 工具将镜像同步到阿里云个人仓库中,使用时请自行源和目标修改仓库名称和镜像名称
记得修改username和password这两行,修改为刚刚的阿里云账号和设置的固定访问密码,最后一行需要更改为源和目标的仓库名称和镜像名称。
每次修改文件并提交就会触发一次脚本执行,所以后续每次只要我们想拉哪个镜像到阿里镜像仓库只需要修改镜像名称即可
这里我拉取rockylinux的镜像到阿里的镜像仓库,测试成功,接下来我们在服务器上从阿里镜像仓库拉取镜像
可以看到拉取正常,达到目的,收工。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。