• docker私有仓库搭建registry


    一、私有仓库搭建

    1、拉取私有仓库镜像

    docker pull registry

    2、启动私有仓库容器

    docker run -di --name=registry -p 5000:5000 registry

    3、访问

    打开浏览器 输入地址http://宿主机ip:5000/v2/_catalog,看到{"repositories":[]} 表示私有仓库搭建成功。注意:云服务器的安全组要放开5000端口。
    {"repositories":[]}

    4、修改daemon.json

    vi /etc/docker/daemon.json

    在上述文件中添加一个key,保存退出。此步用于让 本机docker 信任私有仓库地址

    注意将宿主机ip修改为自己宿主机真实ip。

    {
        "insecure-registries": ["宿主机ip:5000"],
        "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
    }

    5、重启docker 服务

    systemctl daemon-reload
    systemctl restart docker

    6、启动registry

    docker start registry

    二、将镜像上传至私有仓库

    先制作镜像,使用docker commit命令可以将容器保存为镜像。

    命令形式:docker commit 容器名称 镜像名称

    保存myredis容器为镜像

    docker commit myredis myredis

    操作步骤:

    1、标记镜像为私有仓库的镜像

    docker tag : 标记本地镜像,将其归入某一仓库。

    docker tag myredis:latest 宿主机IP:5000/myreids:latest

    2、再次启动私有仓库容器

    docker restart registry

    3、上传标记的镜像

    docker push 宿主机IP:5000/myredis

    结果如下:

    Using default tag: latest
    The push refers to repository [宿主机ip:5000/myredis]
    2e30f92c5d54: Pushed 
    6f263637b351: Pushed 
    6278b061fc42: Pushed 
    309498e524b3: Pushed 
    49cba0f0997b: Pushed 
    ad6562704f37: Pushed 
    latest: digest: sha256:7530b193172b81ac358e5940b23cf2933f3f9e88ace966096dfee52d6b4c64e0 size: 1573

    4、输入网址查看仓库效果

    {"repositories":["myredis"]}

    三、私有仓库所在服务器拉取镜像

    若是在私有仓库所在的服务器上去拉取镜像;那么直接执行如下命令:

    1、因为私有仓库所在的服务器上已经存在相关镜像;所以先删除;请指定镜像名,不是id

    docker rmi -f 服务器ip:5000/myredis

    2、拉取镜像

    docker pull 服务器ip:5000/myredis

    结果如下:

    Using default tag: latest
    latest: Pulling from myredis
    Digest: sha256:7530b193172b81ac358e5940b23cf2933f3f9e88ace966096dfee52d6b4c64e0
    Status: Downloaded newer image for 宿主机ip:5000/myredis:latest
    宿主机ip:5000/myredis:latest

    发现镜像已经从registry中拉取下来。

    3、了解私有仓库地址

    可以通过如下命令查看 docker 的信息;了解到私有仓库地址
    docker info

    四、其他服务器拉取私有仓库镜像

    大多数情况下,都是某台服务器部署了私有镜像仓库之后;到其它服务器上从私有仓库中拉取镜像,若要拉取私有仓库镜像需要去修改docker的配置文件,设置启动时候的仓库地址。 

    我们在另外一台服务器上拉取

    1、修改daemon.json

    vi /etc/docker/daemon.json

    添加如下内容

    {
        "insecure-registries": ["宿主机ip:5000"],
        "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
    }

    注意:宿主机ip为私有仓库所在服务器的ip。

    2、修改完后需要重新加载docker配置文件并重启docker 

    systemctl daemon-reload 
    systemctl restart docker

    3、拉取镜像

    docker pull 宿主机ip:5000/myredis

    结果如下:

    Using default tag: latest
    latest: Pulling from myredis
    42c077c10790: Pull complete 
    a300d83d65f9: Pull complete 
    ebdc3afaab5c: Pull complete 
    6ce178c713e4: Pull complete 
    949f9d8f429f: Pull complete 
    4076be5e5074: Pull complete 
    Digest: sha256:7530b193172b81ac358e5940b23cf2933f3f9e88ace966096dfee52d6b4c64e0
    Status: Downloaded newer image for 宿主机ip:5000/myredis:latest
    宿主机iP:5000/myredis:latest

    查看发现有改镜像。

     
     
     
     
     
     
     
  • 相关阅读:
    深入浅出AQS之组件概览
    深入浅出AQS之条件队列
    深入浅出AQS之共享锁模式
    深入浅出AQS之独占锁模式
    Android中RecyclerView用法,一步一步教你如何使用RecyclerView以及带你走过编码中可能会出现的坑~
    检测jquery是否正确引入
    对于使用JDBC连接mysql数据时The server time zone value '¤¤°ê¼Ð·Ç®É¶¡'...的异常问题解决。
    MYSQL8.0以上版本ROOT密码报错及修改
    MYSQL安装教程
    linux centos安装nginx1.7.4
  • 原文地址:https://www.cnblogs.com/zwh0910/p/16383061.html
Copyright © 2020-2023  润新知