docker 从服务到pull镜像
docker pull镜像
docker 成功pull镜像有如下几个要素:
1、/etc/hosts文件中配置docker仓库机器的信息。
2、镜像仓库必须要能访问。
3、/etc/docker/daemon.json中配置镜像仓库地址。
4、知道镜像的名称和版本号。
第一和第二不多说,第三条简单记录一下
假设docker镜像仓库地址为:docker-test:5000,那么在daemon.json文件中可如下配置
[root@docker ~]# vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://qiu9ymz8.mirror.aliyuncs.com","http://docker-test:5000"],
"insecure-registries":["docker-test:5000"]
}
配置已完成,如何pull?
第四个条件:
- 查看镜像仓库中所有的镜像
curl http://docker-test:5000/v2/_catalog
[root@docker ~]# curl http://docker-test:5000/v2/_catalog
{"repositories":["test/docker-web-console","test/jupyter","test/makesense","test/portainer","test/pytorch"]}
查询出来的结果为仓库中有"test/docker-web-console","test/jupyter","test/makesense","test/portainer","test/pytorch"这五个镜像,现在就剩下镜像的版本号就可以导出镜像了。
- 查看镜像的版本号
curl http://docker-test:5000/v2/test/makesense/tags/list
以test/makesense为例
[root@docker ~]# curl http://docker-test:5000/v2/test/makesense/tags/list
{"name":"jhinno/makesense","tags":["v1.0","v1.01"]}
可以看到查询到的版本有"v1.0","v1.01"两个版本,所有条件具备了,接下来pull v1.01这个版本的makesense镜像。
- pull镜像
docker pull test/makesense:v1.0.1
[root@docker ~]# docker pull test/makesense:v1.01
v1.01: Pulling from test/makesense:
2587235a7635: Pull complete
953fe5c215cb: Pull complete
d4d3f270c7de: Pull complete
ed36dafe30e3: Pull complete
00e912dd434d: Pull complete
dd25ee3ea38e: Pull complete
2d11ef6090f1: Pull complete
da2a7c713c5d: Pull complete
2251290c3860: Pull complete
323d86cbdcc1: Pull complete
9d6dd18041c5: Pull complete
Digest: sha256:24b5fbe114f32122afe57a800328de7e7c19b87e4afe9f8ccce7a5b173549e60
Status: Downloaded newer image for test/makesense::v1.01
docker.io/test/makesense::v1.01
pull镜像根据机器的性能和镜像的大小时间会有很大的差别,请耐心等待。
至此,docker 成功pull下来一个镜像