Docker-搭建私有仓库(二)


建立私有仓库的目的主要是:自己或公司用,下载快,不用去国外下载了。方便

仓库镜像
Docker hub官方已提供容器镜像registry,用于搭建私有仓库
#docker imagers            #查看一下自己有哪些镜像

1.拉取镜像:

# docker pull daocloud.io/library/registry:latest

2.运行容器:

# docker run --name “pri_registry” --restart=always -d -p 5000:5000 daocloud.io/library/registry             //restart=always:开机自启,服务重启的时候也会跟着启动起来。映射到宿主机的5000端口,和自己5000的端口 -d 是放到后台使用
#docker ps                    #看一下启动状态
注:如果创建容器不成功,报错防火墙,解决方案如下
   #systemctl stop firewalld
   #yum install iptaqbles*
   #systemctl start iptables
   #iptables -F
   #systemctl restart docker
   
# docker ps
CONTAINER ID  IMAGE  COMMAND   CREATED  STATUS    PORTS    NAMES
1f444285bed8        daocloud.io/library/registry   "/entrypoint.sh /etc/"   23 seconds ago      Up 21 seconds       0.0.0.0:5000->5000/tcp   elegant_rosalind

3.连接容器查看端口状态:

# docker exec -it  1f444285bed8  /bin/sh      //这里是sh 不是bash
/# netstat -lnp                                              //查看5000端口是否开启
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 :::5000                 :::*                    LISTEN      1/registry
Active UNIX domain sockets (only servers)
Proto RefCnt Flags       Type       State         I-Node PID/Program name    Path

#ctrl+q+p   退出编辑页面,但不退出容器

4.在本机查看能否访问该私有仓库,看看状态码是不是200

[root@master registry]# curl  -I  127.0.0.1:5000     //参数是大写的i
HTTP/1.1 200 OK        

为了方便,下载1个比较小的镜像,buysbox

# docker pull busybox

上传前必须给镜像打tag 注明ip和端口:

# docker tag busybox  本机IP:端口/busybox

这是直接从官方拉的镜像,很慢:

# docker tag busybox 192.168.245.136:5000/busybox

下面这个Mysql是我测试的第二个镜像,从daocloud拉取的:

# docker tag daocloud.io/library/mysql 192.168.245.136:5000/daocloud.io/library/mysql
注:tag后面可以使用镜像名称也可以使用id,我这里使用的镜像名称,如果使用官方的镜像,不需要加前缀,但是daocloud.io的
得加前缀

以下报错是会必出的报错问题:

修改请求方式为http:
    默认为https,不改会报以下错误:
        Get https://master.up.com:5000/v1/_ping: http: server gave HTTP response to HTTPS client
    
    # vim /etc/docker/daemon.json
    { "insecure-registries":["192.168.245.136:5000"] }

重启docker:

# systemctl restart docker

上传镜像到私有仓库:

# docker push 192.168.245.136:5000/busybox  #推送到私有仓库上去

# docker push 192.168.245.136:5000/daocloud.io/library/mysql

查看私有仓库里的所有镜像:
注意我这里是用的是ubuntu的例子

# curl 192.168.245.130:5000/v2/_catalog
        {"repositories":["daocloud.io/ubuntu"]}

    或者:
        
# curl  http://192.168.245.130:5000/v2/daocloud.io/ubuntu/tags/list
        {"name":"daocloud.io/ubuntu","tags":["v2"]}
    
可以拉去镜像测试:
#docker pull    192.168.245.136:5000/busybox   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值