docker之register搭建私有镜像仓库

一. 介绍

  一般docker提供了Docker  Hub来维护管理所有的镜像,但是一般出于安全和网络原因,我们不可能把商业项目上传到docker上,我们会在本地局域网搭建私有镜像仓库。

  所谓私有仓库,也就是在本地(局域网)搭建的一个类似公共仓库的东西,搭建好之后,我们可以将镜像提交到私有仓库中。这样我们既能使用 Docker 来运行我们的项目镜像,也避免了商业项目暴露出去的风险。

二. 环境

  服务端机器 (主机名为registry):docker私有仓库服务器,运行registry容器。
  测试端机器 (主机名为node):普通的docker服务器,在这台服务器上下载一个测试镜像busybox,然后上传到registry服务器进行测试。

三. 部署

  registry主机下操作:

  1. 下载镜像

    docker pull registry

  2. 查看镜像是否下载成功

    docker   image   ls

    

   3. 运行镜像

    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下来的镜像;

  4. 测试镜像仓库中的所有镜像

    curl http://127.0.0.1:5000/v2/_catalog

    

   node节点下操作:

   1. 为镜像打标签

    

      192.168.72.102:5000是registry私有镜像服务器的IP地址和端口

   2. 查看打好标签的镜像

    

    3. 上传到镜像服务器

    

     这边报错了,因为docker 默认是https协议,而我们这是http协议。

    解决方案:

      1)修改daemon.json文件:添加私有镜像服务器地址

     

       2)重启docker

      

    4. 再次上传到私有服务器

      

     5. 可以在registry主机上看看镜像:

      

     6. 测试(先删除node机器上的镜像,然后从主机上下载)

     

 

     

     我们也可以在浏览器上直接访问:

     

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值