Docker拉取镜像的完整步骤
1.dockerpull拉取镜像
使用$dockerpull{IMAGE_NAME}拉取镜像时,有两种情况:
- IMAGE_NAME第一个斜杠之前有域名标识
Docker会将IMAGE_NAME识别为带域名的镜像。例如,myregistry.io/space1/image1:latest,Docker会去myregistry.io指向的服务器请求镜像数据。一个Docker镜像分为很多层,如果本地存在该层,则不会再次拉取。
- IMAGE_NAME第一个斜杠之前没有域名标识
Docker会将IMAGE_NAME拼接为docker.io/IMAGE_NAME请求镜像数据。事实上,$dockerpulldocker.io/shaowenchen/images1与$dockerpullshaowenchen/images1同等效果。对于DockerHub提供的镜像,国内访问速度较慢,可以通过添加镜像源的方式加速。
在拉取镜像时,可能会有两个问题:
1,拉取非公开镜像,提示登录
直接使用dockerlogin登录即可,在非交互场景,可以执行:
$echo"$DOCKER_PASSWORD"|dockerlogin$REGISTRY-u"$DOCKER_USERNAME"--password-stdin
2,镜像仓库证书错误
如果IMAGE_NAME中指定了镜像仓库服务器,但服务器并不提供合法的https服务,那么需要进行如下配置:
在/etc/docker/daemon.json文件中,增加:
{ "insecure-registries":["core.harbor.chenshaowen.com:5000"] }
重启Docker生效。
2.修改镜像源,加速镜像拉取
- 修改Docker的配置文件daemon.json
在/etc/docker/daemon.json文件中,增加镜像源
{ "registry-mirrors":["https://docker.mirrors.ustc.edu.cn"] }
- 修改Docker的systemd参数
编辑文件/usr/lib/systemd/system/docker.service,在ExecStart所在行,增加registry-mirror参数。
ExecStart=...--registry-mirror=https://docker.mirrors.ustc.edu.cn
重启Docker生效。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。