docker本地仓库和私有仓库
一、docker本地仓库
1.首先下载registry镜像
拉取私有仓库镜像。
docker pull registry
2.在daemon.json文件中添加私有镜像仓库地址
vim /etc/docker/daemon.json
添加以下内容,用于让Docker信任私有仓库地址,保存退出。
{
"insecure-registries": ["192.168.19.77:5000"],
"registry-mirrors": ["https://bupq07hd.mirror.aliyuncs.com"]
}
#重新加载某个服务的置文件
systemctl daemon-reload
#重新启动docker
systemctl restart docker
3.运行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容器重启策略
(1)no,默认策略,在容器退出时不重启容器。
(2)on-failure,在容器非正常退出时(退出状态非0),才会重启容器。
(3)on-failure:3,在容器非正常退出时重启容器,最多重启3次。
(4)always,在容器退出时总是重启容器。
(5)unless-stopped,在容器退出时总是重启容器,但是不考虑在 Docker 守护进程启动时就已经停止了的容器。
4.为镜像打标签
docker tag registry:latest 192.168.19.77:5000/centos:v1
5.上传到私有仓库
docker push 192.168.19.77:5000/centos:v1
6.列出私有仓库的所有镜像
curl http://192.168.19.77:5000/v2/_catalog