6-搭建一个私有registry
docker hub 查找 registry
docker hub registry

可以看到部署很简单,只有一条命令。
docker run -d -p 5000:5000 --restart always --name registry registry:2
部署私有registry
-  找一台linux的服务器并安装好docker 
-  在此服务器上部署registry docker run -d -p 5000:5000 --restart always --name registry registry:2查看是否成功 root@vultr:~# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 46da49c00f3d registry:2 "/entrypoint.sh /etc…" 2 hours ago Up 2 hours 0.0.0.0:5000->5000/tcp scijet-registry
-  测试本地是否能够连接服务器的ip 
 安装telnetsudo yum install telnet连通5000端口 [vagrant@10 ~]$ telnet 144.202.112.240 5000如果出现以下内容则通过 Trying 144.202.112.240... Connected to 144.202.112.240. Escape character is '^]'.
-  推送到私有registry [vagrant@10 hello-word]$ docker push 144.202.112.240:5000/hello-word The push refers to repository [144.202.112.240:5000/hello-word] Get https://144.202.112.240:5000/v2/: http: server gave HTTP response to HTTPS client直接推送是会报错的,原因是docker 认为这个registry是不安全的,未认证的。 
 但是我们可以通过修改配置文件来解决。nano /etc/docker/daemon.json增加此配置,含义就是声明这个仓库是可信任的 "insecure-registries": ["144.202.112.240:5000" ]在docker的服务配置文件内增加一段配置 sudo nano /lib/systemd/system/docker.serviceExecStart=/usr/bin/dockerd -H fd:// # 在这一条配置下面 EnvironmentFile=-/etc/docker/daemon.json # 增加的内容重启docker服务 sudo systemctl daemon-reload # 因为文件改变 所以重新加载守护进程 sudo service docker restart # 重启docker 服务推送 docker push 144.202.112.240:5000/hello-word结果 The push refers to repository [144.202.112.240:5000/hello-word] c4afafdc2fdb: Pushed latest: digest: sha256:8eb5ca719b342a746102453ec63c016f0abe92edc2a32a07b96c274b5a37bcdb size: 527
-  验证 私有的registry是没有web界面的,所以我们可以通过api来验证 api 网址   返回仓库内的镜像,查看是否刚刚提交的镜像在内。 也可以使用 curl curl http://144.202.112.240:5000/v2/_catalog
-  拉取镜像 首先我们先把刚刚创建的镜像删除,然后从私有仓库内拉取回来 docker rmi 144.202.112.240:5000/hello-word拉取 [vagrant@10 hello-word]$ docker pull 144.202.112.240:5000/hello-word Using default tag: latest latest: Pulling from hello-word Digest: sha256:8eb5ca719b342a746102453ec63c016f0abe92edc2a32a07b96c274b5a37bcdb Status: Downloaded newer image for 144.202.112.240:5000/hello-word:latest查看是否成功拉取回来 [vagrant@10 hello-word]$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE 144.202.112.240:5000/hello-word latest bb6f23084c78 24 hours ago 857kB