https://www.linuxidc.com/Linux/2018-03/151308.htm
部署仓库
下载镜像仓库registry
docker pull registry
docker images
运行registry容器
docker run -itd -v /data/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:latest
参数说明
-itd:在容器中打开一个伪终端进行交互操作,并在后台运行;
-v:把宿主机的/data/registry目录绑定 到 容器/var/lib/registry目录(这个目录是registry容器中存放镜像文件的目录),来实现数据的持久化;
-p:映射端口;访问宿主机的5000端口就访问到registry容器的服务了;
—restart=always:这是重启的策略,假如这个容器异常退出会自动重启容器;
—name registry:创建容器命名为registry,你可以随便命名;
registry:latest:这个是刚才pull下来的镜像;
仓库http接口
//查看仓库已有镜像
curl http://127.0.0.1:5000/v2/_catalog
//列出busybox镜像有哪些tag
curl http://127.0.0.1:5000/v2/busybox/tags/list
仓库的使用
Push镜像
1、镜像打标签
docker tag busybox:latest 172.18.18.90:5000/busybox:v1
busybox:lastest 这是源镜像,也是本地的镜像文件;
172.18.18.90:5000/busybox:v1:这是目标镜像,也是registry私有镜像服务器的IP地址和端口;
2、上传镜像
docker push 172.18.18.90:5000/busybox:v1
报错:http: server gave HTTP response to HTTPS client
需要https的方法才能上传,我们可以修改下daemon.json来解决:
vim /etc/docker/daemon.json
{
"registry-mirrors": [ "https://registry.docker-cn.com"],
"insecure-registries": [ "172.18.18.90:5000"]
}
systemctl restart docker
Pull镜像
docker pull 172.18.18.90:5000/busybox:v1