zoukankan      html  css  js  c++  java
  • docker私有仓库搭建

          在 docker 中,当我们执行 docker pull xxx 的时候 ,它实际上是从 registry.hub.docker.com 这个地址去查找,这就是Docker公司为我们提供的公共仓库。

    在工作中,由于翻墙网络延迟的问题、项目的私密性,我们需要搭建本地私有仓库。这一篇介绍docker中registry私有仓库搭建

    Linux docker私有仓库搭建

      docker 官方提供了一个搭建私有仓库的镜像 registry ,只需把镜像下载下来,运行容器并暴露5000端口,就可以使用了

    docker pull registry:2
    docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --name myregistry registry:2

      registry服务默认会将上传的镜像保存在容器的/var/lib/registry,我们将主机的/opt/registry目录挂载到该目录,即可实现将镜像保存到主机的/opt/registry目录了。

      浏览器访问http://docker私仓服务器ip:5000/v2,出现下面情况说明registry运行正常。

      

    Windows docker push 镜像到私有仓库

      dokcer设置Daemon  Insecure registries:私仓ip:5000

     (Linux docker push 需要修改/etc/docker/daemon.json  执行命令: echo '{ "insecure-registries":["私仓ip:5000"] }' > /etc/docker/daemon.json)

      查看本地镜像

      通过docker tag将该镜像标志为要推送到私有仓库

    docker tag nginx:latest 172.16.7.24:5000/nginx:latest

      通过docker push 命令将nginx 镜像push 到私有仓库中

    docker push 172.16.7.24:5000/nginx:latest

      访问 http://172.16.7.24:5000/v2/_catalog 查看私有仓库目录,可以看到刚上传的镜像了

    Linux docker pull 下载私有镜像

      1.修改/etc/docker/daemon.json,把客户对私有库地址请求改为http

    echo '{ "insecure-registries":["172.16.7.24:5000"] }' > /etc/docker/daemon.json

          OR

    vim /etc/docker/daemon.json
    { "insecure-registries":["172.16.7.24:5000"] }

      2.修改docker配置文件后,需要重启docker

    systemctl restart docker

      3.(可选)因私仓和docker pull用的是同一台linux服务器,需要对私仓容器进行启动操作

    docker start 私仓容器ID

      4.下载私有镜像,使用命令如下

    docker pull 172.16.7.24:5000/nginx:latest

      最终显示界面

  • 相关阅读:
    嘉年华专访 | 我有故事,你有酒吗?
    adminset 管理员认证
    adminset 管理员权限
    C/C++ scanf 函数中%s 和%c 的简单差别
    C/C++ scanf 函数中%s 和%c 的简单差别
    Boost Log 基本使用方法
    Boost Log 基本使用方法
    Boost Log 基本使用方法
    Boost Log 基本使用方法
    mybatis if test标签的使用
  • 原文地址:https://www.cnblogs.com/hank-hu/p/12604059.html
Copyright © 2011-2022 走看看