docker 构建私有仓库遇到的常见问题

构建私有仓库

拉取registry镜像,构建私有的镜像注册服务器

docker pull registry

运行容器 

docker run --restart=always -d -p 5000:5000 -v /myregistry:/var/lib/registry registry

-d  后台运行,不会有交互终端  -it运行就会有一个终端,退出容器后,容器也停止并退出了(ctrl+p+q不会)

-p 宿主机访问该容器的端口5000后面那个5000是docker内部运行的端口,自己设定就好

-v 挂载容器卷目录,冒号前是本机目录 /myregistry,  冒号后是仓库容器中的目录 /var/lib/registry(上传的镜像默认是这个目录),目的为了持久化到宿主机。 

访问 http://192.168.220.125:5000/v2/  返回成功,则说明运行成功

connection refused问题

docker pull  的时候产生如下错误:

Get http://192.168.220.125:5000/v2/: dial tcp 192.168.220.125:5000: connect: connection refused

原因: 容器中的配置的目录不存在

进入容器查看确认目录:docker exec -it 1e33b26152e1 /bin/sh      

1e33b26152e1 为运行的容器ID      

-it:以终端形式进入容器

目录无误,如果没有 查找下register目录位置  命令:find / -name registry  找到目录,停止容器,重新更改对应挂载目录运行registry镜像。

在容器的控制台中创建 /var/lib/registry目录:

mkdir /var/lib/registry

server gave HTTP response to HTTPS client

错误现象:

Error response from daemon: Get https://192.168.220.125:5000/v2/: http: server gave HTTP response to HTTPS client

原因分析:

   docker registry未采用https服务,而客户端docker使用https请求push所致

解决方法:

docker客户端将https请求更改为http请求, 将以下配置添加到 /etc/docker/daemon.json 中

{ "insecure-registries":["192.168.220.125:5000"] }

注意: 该配置是配置在docker客户端,让docker客户端以不安全的http请求访问docker registry,ip以及端口填写的是提供服务容器的ip以及端口。

增加配置文件后,重启docker服务

service docker restart

以前的老方法,修改的是不同的配置文件

# gedit /etc/sysconfig/docker

OPTIONS='--selinux-enabled --insecure-registry 192.168.220.125:5000'

私有仓库使用总结:

1. docker pull registry  拉取registry镜像;

2. 运行镜像,挂在本地目录到容器 

docker run --name registry --restart=always -d -p 5000:5000 -v /myregistry:/var/lib/registry registry 

3. 给本地镜像打标签:

docker tag myimage:v1 192.168.220.125:5000/myimage:v1

4. push到私有仓库

docker push 192.168.220.125:5000/myimage:v1

5. 列出所有镜像仓库,访问链接 
     http://192.168.220.125:5000/v2/_catalog

6. 其他服务器直接拉取镜像

docker pull 192.168.220.125:5000/myimage:v1

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值