Docker拉取镜像的完整步骤
1. docker pull 拉取镜像
使用 $ docker pull {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 请求镜像数据。事实上,$ docker pull docker.io/shaowenchen/images1 与 $ docker pull shaowenchen/images1 同等效果。对于 DockerHub 提供的镜像,国内访问速度较慢,可以通过添加镜像源的方式加速。
在拉取镜像时,可能会有两个问题:
1,拉取非公开镜像,提示登录
直接使用 docker login 登录即可,在非交互场景,可以执行:
$ echo "$DOCKER_PASSWORD" | docker login $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 生效。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。
相关文章
Docker通过容器生成镜像提交DockerCommit详解
这篇文章主要介绍了Docker通过容器生成镜像提交DockerCommit的详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪2021-09-09Docker启动RabbitMQ实现生产者与消费者的详细过程
这篇文章主要介绍了Docker启动RabbitMQ,实现生产者与消费者,通过Docker拉取镜像并启动RabbitMQ,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-02-02使用Docker容器部署MongoDB并支持远程访问及遇到的坑
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的,今天通过本文给大家介绍使用Docker容器部署MongoDB并支持远程访问及遇到的坑,感兴趣的朋友一起看看吧2022-07-07
最新评论