Docker容器之搭建本地私有仓库
本地私有仓库搭建的具体步骤
首先下载 registry 镜像
docker pull registry
在 daemon.json 文件中添加私有镜像仓库的地址并重启
vim /etc/docker/daemon.json { "insecure-registries": ["20.0.0.40:5000"], #逗号不能忘记加 "registry-mirrors": ["https://zvj5fyew.mirror.aliyuncs.com"] }
运行 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下来的镜像. ---------------------------------------------------------------------------------------------------------------- Docker容器的重启策略如下: no:默认策略,在容器退出时不重启容器 on- failure:在容器非正常退出时(退出状态非0),才会重启容器 on- failure:3 :在容器非正常退出时重启容器,最多重启3次 always:在容器退出时总是重启容器 unless-stopped:在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器
为镜像打标签
docker pull centos:7 docker tag centos:7 20.0.0.40:5000/centos:v1 docker images REPOSITORY TAG IMAGE ID CREATED SIZE registry latest 1fd8e1b0bb7e 3 months ago 26.2MB 20.0.0.40:5000/centos v1 8652b9f0cb4c 8 months ago 204MB centos 7 8652b9f0cb4c 8 months ago 204MB
上传到私有仓库
docker push 20.0.0.40:5000/centos:v1
列出私有仓库的所有镜像
curl http://20.0.0.40:5000/v2/_catalog {"repositories":["centos"]}
curl http://20.0.0.40:5000/v2/centos/tags/list {"name":"centos","tags":["v1"]}
先删除原有的 centos 镜像,在从本地仓库下载进行测试
docker rmi -f 8652b9f0cb4c docker pull 20.0.0.40:5000/centos:v1