Docker搭建本地私有仓库

    Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

    Docker Registry是一个无状态,高度可扩展的服务器端应用程序,可存储并允许您分发Docker镜像。在许可的Apache许可下,Registry是开源的。

   为什么要使用Docker Registry?

  • 严格控制图像的存储位置
  • 完全拥有您的图像分发管道
  • 将图像存储和分发紧密集成到您的内部开发工作流程中

   接下来将详细介绍Docker本地私有仓库(Docker Registry)的搭建:

   步骤一:准备Linux虚拟机

准备两台安装有Linux(本人环境为CentOS 7)虚拟机,并配置好网络(可参考VMware以NAT模式配置Linux网络)。

本人虚拟机网络环境配置如下:

虚拟机一(作为开发机):192.168.29.159

虚拟机二(作为Docker Registry):192.168.29.158

  步骤二:升级Linux(192.168.29.158、192.168.29.159)

  • 使用yum命令更新Linux
yum -y update

  步骤三:安装Docker并启动(192.168.29.158、192.168.29.159)

  • 使用yum命令安装Docker
yum install -y docker
  • 使用以下命令启动Docker
service docker start

 步骤四:下载Registry镜像并启动(192.168.29.158)

  • 使用以下命令下载registry镜像
docker pull registry
  • 使用命令查看docker镜像
docker images

镜像如图:

  • 使用命令启动registry镜像
docker run -d -p 5000:5000 registry

注:默认情况下,会将仓库存放于容器的/tmp/registry目录下,这样如果容器被删除,则存放于容器中的镜像也会丢失,所以一般情况下会指定本地一个目录(本人目录为/root/dale/docker/registry)挂载到容器的/tmp/registry下,因此可以使用如下命令:

docker run -d -p 5000:5000 -v /root/dale/docker/registry:/tmp/registry registry

启动后,如图代表启动成功:

参数解释:

-d:后台运行
           -p:将容器的5000端口映射到宿主机的5000端口
           -v:将容器内的目录/tmp/registry映射到宿主机的/root/dale/docker/registry

 

 步骤五:下载hello-world镜像(192.168.29.159)

  • 使用命令下载hello-world镜像
docker pull hello-world

若如图所示,代表下载镜像成功:

步骤六:测试(192.168.29.159)

  • 使用命令修改镜像tag
docker tag docker.io/hello-world 192.168.29.158:5000/hello-world

修改后查看镜像如图:

使用命令修改docker配置文件,并添加参数--insecure-registry=192.168.29.158:5000

vi /etc/sysconfig/docker

docker配置文件如图:

修改完毕后,需要重启docker,如图

service docker restart

  • 上传镜像到私有仓库
docker push 192.168.29.158:5000/hello-world

如图代表镜像上传成功:

  • 删除本地镜像

使用命令删除本地镜像192.168.29.158:5000/hello-world

docker rmi 192.168.29.158:5000/hello-world

删除如图:

  • 从私有镜像仓库下载镜像

使用命令下载私有仓库上的镜像192.168.29.158:5000/hello-world

docker pull 192.168.29.158:5000/hello-world

下载如图:

查看docker本地镜像如图:

步骤七:查看私有仓库镜像(192.168.29.158或192.168.29.159)

  • 使用命令查询私有仓库上有哪些镜像名
curl -XGET http://192.168.29.158:5000/v2/_catalog

查询如图:

  • 使用命令查看镜像有哪些版本
curl -XGET http://192.168.29.158:5000/v2/hello-world/tags/list

查询如图:

 

如果你已经能按步骤操作到此结束,那么恭喜你,Docker私有仓库搭建成功,请尽情使用吧!

    参考资料:

  1. Docker官方文档
  2. Docker搭建本地私有仓库
  3. docker 1.9的配置文件在哪里
  4. Docker搭建私有镜像仓库

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值