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

    Docker搭建本地私有仓库的详细步骤

    Dockers不仅提供了一个中央仓库,同时也允许我们使用registry搭建本地私有仓库。使用私有仓库有许多优点:
    一、节省网络带宽,针对于每个镜像,不用每个人都去中央仓库上面去下载,只需要从私有仓库中下载即可;
    二、提供镜像资源利用,针对于公司内部使用的镜像,推送到本地的私有仓库中,以供公司内部相关人员使用;

    搭建私有仓库
    首先在136机器上下载registry镜像
    docker pull registry
    下载完之后我们通过该镜像启动一个容器
    docker run -d -p 5000:5000 registry
    默认情况下,会将仓库存放于容器的/tmp/registry目录下,这样如果容器被删除,则存放于容器中的镜像也会丢失,

    所以我们一般情况下会指定本地一个目录挂载到容器的/tmp/registry下
    docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry

    (-p参数--红色的5000是物理机上的端口,可以任意的改变,例如写成5001,4000等,tag镜像命名的时候,出现的端口号也是这个物理主机上的端口号,粉色的5000是docker容器里面对应的端口号,这个粉色的值时一般是不能改变的;

    -v参数---蓝色的部分是物理主机上一个空间比较大的目录,可以任意的命名,红色部分对应的是容器里面的/tmp/registry目录,一般是固定不变的

    )

    docker run -d -v /opt/registry:/var/lib/registry -p 5001:5000 --restart=always --name registry registry:latest---有可能容器里面的这个固定目录变成这个了

    可以看到我们启动了一个容器,地址为:192.168.112.136:5000
    接下来我们就要操作把一个本地镜像push到私有仓库中
    在132机器下pull一个比较小的镜像来测试(此处使用的是busybox)
    docker pull busybox
    接下来修改一下该镜像的tag
    docker tag busybox 192.168.112.136:5000/busybox
    接下来把打了tag的镜像上传到私服
    docker push 192.168.112.136:5000/busybox
    因为Docker从1.3.X之后默认docker registry使用的是https,所以当用docker pull命令下载远程镜像时,如果远程docker registry是非https的时候就会报上面的错误。

    为了解决这个问题需要在启动docker server时增加启动参数
    修改docker启动配置文件(此处是修改132机器的配置)Ubuntu下配置文件地址为:/etc/init/docker.conf

    vim /etc/docker/daemon.json
    {
    "registry-mirrors": ["https://hn3vy3ry.mirror.aliyuncs.com"],
    "insecure-registries":["10.37.210.125:5001","172.19.146.100:4000"]
    }

    重启完之后我们再次运行推送命令,把本地镜像推送到私有服务器上
    $ sudo docker push 192.168.112.136:5000/busybox
    仓库名把指定了把镜像推送和拉取镜像到哪个私有服务器上
    删除了本地镜像,然后我们从私有镜像仓库中下载该镜像
    sudo docker pull 192.168.112.136:5000/busybox

  • 相关阅读:
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    Security and Cryptography in Python
    微信小程序TodoList
    C语言88案例-找出数列中的最大值和最小值
    C语言88案例-使用指针的指针输出字符串
  • 原文地址:https://www.cnblogs.com/potato-chip/p/9750706.html
Copyright © 2011-2022 走看看