docker仓库
1.搭建镜像仓库
# 首先,下载Registry镜像并启动
docker pull registry
# 运行一个Registry镜像仓库的容器实例
docker run -d -v /edc/images/registry:/var/lib/registry -p 5000:5000 --restart=always --name docker-registry registry
# 在客户端查看镜像仓库中的所有镜像
curl http://ip:5000/v2/_catalog
2.上传镜像
首先,为了让客户端服务器能够快速地访问刚刚在服务端搭建的镜像仓库(默认情况下是需要配置HTTPS证书的),这里简单在客户端配置一下私有仓库的可信任设置让我们可以通过HTTP直接访问:
vim /etc/docker/daemon.json
加上下面这一句,这里的”ip”请换为你的服务器的外网IP地址:
# 大括号内第一行结尾加 , 第二行插入下面内容
"insecure-registries" : [ "ip:5000" ]
注:如果不设置可信任源,又没有配置HTTPS证书,那么会遇到这个错误:error: Get https://ip:port/v1/_ping: http: server gave HTTP response to HTTPS client.
为了使得配置生效,重新启动docker服务:
systemctl restart docker
其次,为要上传的镜像打Tag
docker tag image-name:tagname ip:5000/image-name:tagname
上传镜像到服务端镜像仓库
docker push ip:5000/image-name:tagname
通过访问API验证镜像仓库的内容
# 在客户端查看镜像仓库中的所有镜像
curl http://ip:5000/v2/_catalog
3.下载镜像
拉取镜像
docker pull ip:5000/image-name:tagname
镜像重命名
# IMAGEID为 镜像id/镜像名 REPOSITORY:TAG(仓库:标签)
docker tag IMAGEID REPOSITORY:TAG
如果想要知道要下载的镜像都有哪些tag(或版本),可以通过下面这个api来获取:
curl http://ip:5000/v2/image-name/tags/list