欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

Docker拉取镜像的完整步骤

程序员文章站 2022-04-25 17:58:12
1. docker pull 拉取镜像 使用 $ docker pull {image_name} 拉取镜像时,有两种情况: image_name 第一个斜杠之前有域名...

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 生效。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。