6-搭建一个私有registry

6-搭建一个私有registry

docker hub 查找 registry

docker hub registry

在这里插入图片描述

可以看到部署很简单,只有一条命令。

docker run -d -p 5000:5000 --restart always --name registry registry:2

部署私有registry

  1. 找一台linux的服务器并安装好docker

  2. 在此服务器上部署registry

    docker run -d -p 5000:5000 --restart always --name registry registry:2
    

    查看是否成功

    root@vultr:~# docker ps
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
    46da49c00f3d        registry:2          "/entrypoint.sh /etc…"   2 hours ago         Up 2 hours          0.0.0.0:5000->5000/tcp   scijet-registry
    
    
  3. 测试本地是否能够连接服务器的ip
    安装 telnet

    sudo yum install telnet
    

    连通5000端口

    [vagrant@10 ~]$ telnet 144.202.112.240 5000
    

    如果出现以下内容则通过

    Trying 144.202.112.240...
    Connected to 144.202.112.240.
    Escape character is '^]'.
    
  4. 推送到私有registry

    [vagrant@10 hello-word]$ docker push 144.202.112.240:5000/hello-word
    The push refers to repository [144.202.112.240:5000/hello-word]
    Get https://144.202.112.240:5000/v2/: http: server gave HTTP response to HTTPS client
    

    直接推送是会报错的,原因是docker 认为这个registry是不安全的,未认证的。
    但是我们可以通过修改配置文件来解决。

    nano /etc/docker/daemon.json
    

    增加此配置,含义就是声明这个仓库是可信任的

    "insecure-registries": [
        "144.202.112.240:5000"
    ]
    

    在docker的服务配置文件内增加一段配置

    sudo nano /lib/systemd/system/docker.service
    
    ExecStart=/usr/bin/dockerd -H fd://    # 在这一条配置下面
    EnvironmentFile=-/etc/docker/daemon.json  # 增加的内容
    

    重启docker服务

    sudo systemctl daemon-reload   # 因为文件改变 所以重新加载守护进程
    sudo service docker restart  # 重启docker 服务
    

    推送

    docker push 144.202.112.240:5000/hello-word
    

    结果

    The push refers to repository [144.202.112.240:5000/hello-word]
    c4afafdc2fdb: Pushed 
    latest: digest: sha256:8eb5ca719b342a746102453ec63c016f0abe92edc2a32a07b96c274b5a37bcdb size: 527
    
  5. 验证

    私有的registry是没有web界面的,所以我们可以通过api来验证

    api 网址

    在这里插入图片描述

    在这里插入图片描述

    返回仓库内的镜像,查看是否刚刚提交的镜像在内。

    也可以使用 curl

    curl http://144.202.112.240:5000/v2/_catalog 
    
  6. 拉取镜像

    首先我们先把刚刚创建的镜像删除,然后从私有仓库内拉取回来

    docker rmi 144.202.112.240:5000/hello-word
    

    拉取

    [vagrant@10 hello-word]$ docker pull 144.202.112.240:5000/hello-word
    Using default tag: latest
    latest: Pulling from hello-word
    Digest: sha256:8eb5ca719b342a746102453ec63c016f0abe92edc2a32a07b96c274b5a37bcdb
    Status: Downloaded newer image for 144.202.112.240:5000/hello-word:latest
    

    查看是否成功拉取回来

    [vagrant@10 hello-word]$ docker images
    REPOSITORY                        TAG                 IMAGE ID            CREATED             SIZE
    144.202.112.240:5000/hello-word   latest              bb6f23084c78        24 hours ago        857kB
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FlyWine

你的鼓励将是我创作的做大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值