1、首先下载 registry 镜像
2、在 daemon.json 文件中添加私有镜像仓库的地址并重启
3、创建registry容器并开放端口
4、给镜像打标签后上传到私有仓库
5、获取私有仓库列表查看是否上传成功
6、验证:从私有仓库下载镜像
1、首先下载 registry 镜像
docker pull registry
2、在 daemon.json 文件中添加私有镜像仓库的地址并重启
vim /etc/docker/daemon.json { "insecure-registries": ["192.168.217.104:5000"], #添加,注意用逗号结尾 "registry-mirrors": ["https://ae3f5qei.mirror.aliyuncs.com"] }
systemctl restart docker.service
#运行 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守护进程启动时就已经停止了的容器
3、创建registry容器并开放端口
docker create -it registry /bin/bash docker run -d -p 5000:5000 -v /data/registry:/tmp/registry registry '//-p指定端口,一内一外;-v表示挂载,前者是宿主机,后者是容器'
4、给镜像打标签后上传到私有仓库
必须先给镜像打标签再上传,不然默认是去公共仓库
1、#为镜像打标签 docker tag centos:7 192.168.217.104:5000/centos:v1
!# 注 如果没有centos:7 镜像 需要手动下载 docker pull centos:7
2、#上传到私有仓库 docker push 192.168.217.104:5000/centos:v1
3、#列出私有仓库的所有镜像 curl http://192.168.217.104:5000/v2/_catalog
4、#出私有仓库的 centos 镜像有哪些tag curl http://192.168.217.104:5000/v2/centos/tags/list
5、#先删除原有的 centos 的镜像,再测试私有仓库下载
docker rmi -f 8652b9f0cb4c
docker pull 192.168.217.104:5000/centos:v1
标签:容器,5000,私有,registry,镜像,docker,搭建 From: https://www.cnblogs.com/yanjing998/p/17349396.html