centos7上搭建docker私有仓库

私有仓库主机(centos7):10.60.34.46
客户机(centos7):client

私有仓库主机上:

  1. 下载registry镜像

    docker pull registry
  2. 运行registry容器,为了在容器关闭时不删除仓库目录,需要把仓库目录挂载到宿主机目录

    docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry

客户机上:

  1. 获取一个小的镜像busybox用于测试

    docker pull busybox
  2. 修改busybox的标签,用于上传到私有仓库

    docker tag busybox 10.60.34.46:5000/busybox
  3. 上传

    docker push 10.60.34.46:5000/busybox

    这里会出现错误:

    Error response from daemon: unable to ping registry endpoint https://10.60.34.46:5000/v0/
    v2 ping attempt failed with error: Get https://10.60.34.46:5000/v2/: EOF
     v1 ping attempt failed with error: Get https://10.60.34.46:5000/v1/_ping: EOF

    原因是与私有仓库的默认交互方式是https,而私有仓库主机只提供http服务。可以在客户端docker的启动配置文件中加入参数:-–insecure-registry=10.60.34.46:5000来规避这个问题。

    vi /usr/lib/systemd/system/docker.service
    [Service]
    Type=notify
    ExecStart=/usr/bin/docker daemon -H fd:// --insecure-registry=10.60.34.46:5000

    重启docker:

    systemctl daemon-reload
    service docker restart

    再次上传:

    [root@bogon ~]# docker push 10.60.34.46:5000/busybox
    The push refers to a repository [10.60.34.46:5000/busybox] (len: 1)
    Sending image list
    Pushing repository 10.60.34.46:5000/busybox (1 tags)
    Image cfa753dfea5e already pushed, skipping
    Image d7057cb02084 already pushed, skipping
    Pushing tag for rev [d7057cb02084] on {http://10.60.34.46:5000/v1/repositories/busybox/tags/latest}

    查看私有仓库:

    [root@bogon ~]# curl http://10.60.34.46:5000/v1/search
    {"num_results": 2, "query": "", "results": [{"description": "", "name": "library/centos"}, {"description": "", "name": "library/busybox"}]}

    查询镜像:

    [root@bogon ~]# curl http://10.60.34.46:5000/v1/search?q=busybox
    {"num_results": 1, "query": "busybox", "results": [{"description": "", "name": "library/busybox"}]}

    获取镜像:

    docker pull 10.60.34.46:5000/busybox
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值