搭建Docker镜像仓库

本文介绍搭建Docker官方提供的registry仓库,并在其它机器上提交和拉取搭建的私有库中的镜像。

搭建私有Docker镜像仓库

拉取registry仓库镜像

docker pull registry

创建本机镜像存放目录

mkdir /home/kareza/backup/registry

运行registry镜像

docker run -d -v /home/kareza/backup/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry

其中

-d 后台运行

-v 将本机目录挂载到运行的docker容器中(即本机的/home/kareza/backup/registry挂载到运行的registry容器的/var/lib/registry目录),所以当容器被摧毁时,镜像仓库的数据依然完好的存储在本机

-p 端口映射(本机端口:容器端口)

-resatrt=always 重启docker时总是启动该容器

--name 容器名

最后一个registry表示要运行的镜像名

查看是否运行成功

curl http://localhost:5000/v2/_catalog

查看镜像仓库中镜像数目

其中 {"repositories":[]} 表示镜像仓库为空

提交拉取镜像前置条件

需要注意的是,官方建议我们给Docker私有仓库服务配置https证书,这是不容易的,所以不在本文的讨论范围。

本文采取的方法是在客户端机器(即需要提交或拉取镜像的机器)上手动添加Docker私有仓库地址为可信任的仓库地址,这意味着我们需要在每一台客户端机器做同样的添加信任操作,好在,这并不困难。

只需要修改docker的服务配置(注意是客户端机器的docker

vim /etc/docker/daemon.json

在json文件中添加

“insecure-registries” : [ "ip:5000" ]

注意,这里的ip是部署的私有仓库地址和服务端口。

重启docker服务使配置生效

提交镜像

为本地的images打tag

假设本地存在images hello-world:latest

git tag hello-world:latest ip:5000/hello-world:latest

注意把ip和port替换成私有仓库的地址

docker push ip:5000/hello-world:latest

再次验证私有镜像仓库中的镜像

curl http://ip:5000/v2/_catalog

提交镜像

拉取镜像

删除本地刚刚tag出来的镜像

docker rmi ip:5000/hello-world:latest

拉取私有镜像仓库中的hello-world镜像

docker pull ip:5000/hello-world:latest

拉取镜像

查看私有仓库中某镜像的tag列表

curl http://ip:5000/v2/your-image-name/tags/list

查看tag列表

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kareza

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值