搭建本地私有仓库

目录

一、搭建本地私有仓库

1、首先下载registry 镜像

2、在daemon.json文件中添加私有镜像仓库地址

3、运行 registry 容器

4、为镜像打标签

5、上传到私有仓库

6、列出私有仓库的所有镜像

7、列出私有仓库的centos镜像有哪些tag

8、先删除原有的centos的镜像,再测试私有仓库下载


一、搭建本地私有仓库

Docker Hub这样的公共仓库可能不方便,这种情况下用户可以使用registry创建一个本地仓库供私人使用,这点跟Maven的管理类似。
使用私有仓库有许多优点:

1)节省网络带宽,针对于每个镜像不用每个人都去中央仓库上面去下载,只需要从私有仓库中下载即可;
2)提供镜像资源利用,针对于公司内部使用的镜像,推送到本地的私有仓库中,以供公司内部相关人员使用。

1、首先下载registry 镜像

docker pull registry

2、在daemon.json文件中添加私有镜像仓库地址

vim /etc/docker/daemon.json
{
"insecure-registries": ["192.168.52.130:5000"],
#添加,注意用逗号结尾
"registry-mirrors": ["https://6ijb8ubo.mirror.aliyuncs.com"]
}
systemctl restart docker.service

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容器的重启策略如下:

no:默认策略,在容器退出时不重启容器

on-failure: 在容器非正常退出时(退出状态非0),才会重启容器

on-failure:3 :在容器非正常退出时重启容器,最多重启3次

always: 在容器退出时总是重启容器

unless-stopped: 在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器

4、为镜像打标签

docker tag centos:7 192.168.52.130:5000/centos:v1

私有仓库镜像的命名规则:宿主机ip地址:端口号/xxxx(需要更改的名称)

5、上传到私有仓库

docker push 192.168.52.130:5000/centos:v1

6、列出私有仓库的所有镜像

curl http://192.168.52.130:5000/v2/_catalog

7、列出私有仓库的centos镜像有哪些tag

curl http://192.168.52.130:5000/v2/centos/tags/list

 

8、先删除原有的centos的镜像,再测试私有仓库下载

docker rmi -f 192.168.52.130:5000/centos:v1
docker pull 192.168.52.130:5000/centos:v1

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值