docker

docker image pull时频繁出现unauthorized: authentication required问题的一种解决方法

问题现象如下:

[root@ci1 ~]# docker image pull wzkres/centos-ci-gcc:centos-7-cross-arm64
centos-7-cross-arm64: Pulling from wzkres/centos-ci-gcc
2d473b07cdd5: Already exists 
9d26d6802cad: Pull complete 
90f6d29b7c1a: Pull complete 
7bfff1b24796: Pull complete 
80b3d4546432: Pull complete 
c3a37398e8b3: Pull complete 
3ba42b3a770d: Pull complete 
85b3405c69c4: Downloading 
2ad9c2d42a3d: Waiting 
5f1b06925eb4: Waiting 
4f4fb700ef54: Waiting 
57c257cf6173: Waiting 
787f48d693d2: Waiting 
9f1677804e77: Waiting 
c13fd6dc43b4: Waiting 
80bd40938514: Waiting 
56ba96a89fa8: Waiting 
unauthorized: authentication required

在从hub.docker.com拉取公开镜像时,频繁出现标题中提到的错误而失败,出现时间随机,且出现频率非常高,导致稍大些的镜像几乎无法顺利完成下载。一开始以为是网络问题,各种更换“科学”,使用镜像代理均没什么效果,看提示的是“authentication”,还以为是docker hub登录信息的问题,于是也试过docker login -u xxxx,无果…

Continue reading…

Docker Hub自动构建时对同一个image增加多个tag的方法

最近研究GitLab的内置CI/CD功能,用到了gitlab-runner的docker executor,由于CI构建环境需求比较特殊,一时没有找到合适的image,于是决定自己做一个,网上搜索了下,找到了不需要在本地安装docker而直接在GitHub上创建包含Dockerfile的repo,然后关联Docker Hub并开启自动构建的方法,尝试了下可以可以轻松完成任务(甚至都可以完全不clone GitHub上的项目代码到本地,完全在线编辑Dockerfile就可以),虽然算是完成了目标,但后来想像其他人那样给同一个image加多个tag时,却没有在后台页面上找到直接操作的方法,Configure Automated Builds里,只能通过增加新的build rule来增加新的tag,但是这样的话即使来源分支什么配置都一样,结果image也一样,但还是build出了n个image,而不是1个image n个tag,本来以为只能安装docker命令行解决了,

Continue reading…