看完本文可以帮助你:
docker pull 错误 net/http: TLS handshake timeout 的解决方案
仓库推镜像/拉镜像操作实践流程
登录虚拟机,进入root用户
1、登录docker hub账户:
docker login
输入用户名和密码回车,如果登录失败,多试几次
2、查看本定镜像
docker imags
3、添加索影
docker tag 源镜像 目标用户名/目标镜像名
查看是否tag成功
4、开始上传至仓库
docker push zhaoxc/music-java
发现比较慢,过了好大一会了,还是失败,报了一对错,由于该命令默认从docker远端镜像仓库中拉取镜像,但由于远端仓库的服务器是在国外,我们国内有的用户很可能都访问不了。
解决办法:
使用国内镜像 daocloud镜像加速器
该方法需要配置加速器的镜像地址为 register.mirror
Linux中使用命令
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://d1d9aef0.m.daocloud.io
该脚本可以将 --registry-mirror 加入到你的 Docker 配置文件 /etc/docker/daemon.json 中。适用于 Ubuntu14.04、Debian、CentOS6 、CentOS7、Fedora、Arch Linux、openSUSE Leap 42.1,其他版本可能有细微不同
Windows中中操作
在桌面右下角状态栏中右键 docker 图标,修改在 Docker Daemon 标签页中的 json ,把下面的地址:http://d1d9aef0.m.daocloud.io
加入到"registry-mirrors"的数组里。点击 Apply 。
MacOS中
右键点击桌面顶栏的 docker 图标,选择 Preferences ,在 Daemon 标签(Docker 17.03 之前版本为 Advanced 标签)下的 Registry mirrors 列表中加入下面的镜像地址:http://d1d9aef0.m.daocloud.io
点击 Apply & Restart 按钮使设置生效。
我是在centos7上操作,所以执行如下命令:
重启docker服务
systemctl restart docker
重新执行命令上传镜像至仓库
终于成功了。
5、查看是否上传成功
登录网页https://hub.docker.com/repositories
看到如上说明试上传成功了。
6、下载镜像验证
删除本地镜像
docker rmi zhaoxc/music-java -f
拉取镜像,并查看是否下载成功
docker pull zhaoxc/music-java
更多参考dacloud官网:https://www.daocloud.io/mirror#accelerator-doc
启动容器,验证功能是否能用,这里不多介绍,如果需要获取源码,请留言。
谢谢您的阅读,如果对您有帮助,麻烦点个赞。