Bootstrap

【Docker】Docker搭建本地私有仓库

目录

一.下载运行 registry 镜像

二.添加私有镜像仓库地址

三.为镜像添加标签

四.上传到私有仓库

五.查看私有仓库的所有镜像

六.测试私有仓库下载


一.下载运行 registry 镜像

docker pull registry
docker run -d -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守护进程启动时就已经停止了的容器

二.添加私有镜像仓库地址

#在 daemon.json 文件中添加私有镜像仓库地址
vim /etc/docker/daemon.json
{
  "registry-mirrors": ["https://wwqhoc5q.mirror.aliyuncs.com", "https://docker.m.daocloud.io","https://docker.1panel.live"],"insecure-registries": ["http://192.168.80.101:5000"]
}

systemctl restart docker
docker info

三.为镜像添加标签

docker images
docker tag nginx:latest 192.168.80.101:5000/nginx:latest
docker tag centos:7 192.168.80.101:5000/centos:yes
docker images

四.上传到私有仓库

docker push 192.168.80.101:5000/nginx:latest
docker push 192.168.80.101:5000/centos:yes

五.查看私有仓库的所有镜像

http://192.168.80.101:5000/v2/_catalog   #查看私有仓库所有镜像
http://192.168.80.101:5000/v2/centos(指定镜像名)/tags/list  #指定镜像查看其标签

六.测试私有仓库下载

重新开启一台服务器测试下载私有仓库镜像(先删除原有的 centos 的镜像,再测试私有仓库下

cd /etc/docker
vim daemon.json
{
   "insecure-registries": ["http://192.168.80.101:5000"]    #添加私有仓库地址
}
 
 
systemctl restart docker
 
docker info
 
docker pull 192.168.80.101:5000/nginx:latest  #从私有仓库中拉去镜像
docker pull 192.168.80.101:5000/centos:yes
docker images

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;