Docker Hub作为Docker默认官方公共镜像,如果想要自己搭建私有镜像残酷,官方也提供Registry镜像,使得我们搭建私有仓库变得非常简单。
1.查找并下载Registry镜像:
docker search registry
2.下载镜像:
docker pull registry
3.运行一个Registry镜像仓库的容器实例:
docker run -d -v /data/webapps/registry:/var/lib/registry -p 5000:5000 --restart=always --name docker-registry registry
4.查看镜像仓库中的所有镜像
curl http://172.0.0.1:5000/v2/_catalog
这里返回的json数据代表暂无任何仓库,因为我们还没有上传任何镜像。
5.宿主机的ip地址:172.17.0.1和172.16.14.112。
ifconfig
6.把本地要上传的nginx镜像,打个tag:
docker tag nginx 172.17.0.1:5000/nginx:2.1
7.上传镜像:
setenforce 0 (先禁用selinux) docker push 172.17.0.1:5000/nginx:2.1
8.客户端配置可信任仓库:
为了让客户端服务器能够快速地访问刚刚在服务端搭建的镜像仓库(默认情况下是需要配置HTTPS证书的),这里简单在客户端配置一下私有仓库的可信任设置让我们可以通过HTTP直接访问:
# vim /etc/docker/daemon.json { "insecure-registries" : [ "172.16.14.112:5000" ] } 然后重启一下: systemctl restart docker
9.在客户端机器上查看有哪些镜像:
curl http://172.16.14.112:5000/v2/_catalog curl http://172.16.14.112:5000/v2/nginx/tags/list (查看下载的镜像都有哪些tag或版本)
10.把镜像下载下来:
docker pull 172.16.14.112:5000/nginx:2.1