搭建docker私有registry

docker私有registry

有时候用docker hub仓库可能不太方便,我们也可以自己搭建一个私有仓库
这章跟大家讲下docker官方提供的私有仓库程序,docker-registry

1、安装docker-registry包

$ yum -y install docker-registry

docker-registry包文件

$ rpm -ql docker-distribution 

/etc/docker-distribution/registry/config.yml                ————主配置文件
/usr/bin/registry                                           ————主程序
/usr/lib/systemd/system/docker-distribution.service
/usr/share/doc/docker-distribution-2.6.2
/usr/share/doc/docker-distribution-2.6.2/AUTHORS
/usr/share/doc/docker-distribution-2.6.2/CONTRIBUTING.md
/usr/share/doc/docker-distribution-2.6.2/LICENSE
/usr/share/doc/docker-distribution-2.6.2/MAINTAINERS
/usr/share/doc/docker-distribution-2.6.2/README.md
/var/lib/registry

配置文件

$ cat /etc/docker-distribution/registry/config.yml       
version: 0.1                                                ----版本号
log:                                                        ----日志选项
  fields:
    service: registry
storage:
    cache:
        layerinfo: inmemory                                 ----缓存在内存中
    filesystem:
        rootdirectory: /var/lib/registry                    ----镜像存放目录
http:
    addr: :5000                                             ————:5000标示监听本机所有地址的5000端口

启动服务

 $ systemctl restart docker-distribution.service

查看服务状态

$ ss -ntl |grep 5000
LISTEN     0      128         :::5000                    :::*        

2、测试

==镜像名必须根服务器名字匹配==

例如:服务器名字是
[root@node02 ~]# hostname 
node02

那么想要推送镜像就必须吧镜像名字改成如下:
[root@node02 ~]# docker image ls
REPOSITORY               TAG                 IMAGE ID            CREATED             SIZE
node01:5000/wabapptest   v0.1                0005cac44b75        4 weeks ago         1.2MB

上传镜像
[root@node02 ~]# docker push node01:5000/wabapptest
The push refers to repository [node01:5000/wabapptest]
Get https://node01:5000/v2/: http: server gave HTTP response to HTTPS client
You have new mail in /var/spool/mail/root

"注意默认docker-registry传输使用的是HTTPS协议,如果想使用HTTP协议上传镜像需要客户端修改/etc/docker/daemon.json文件"
[root@node02 ~]# cat /etc/docker/daemon.json 
{
  "registry-mirrors": ["https://registry.docker-cn.com"];       ————下载镜像加速器
  "insecure-registries": [node01:5000]                   ————忽略不安全镜像仓库服务器,
}
而后重启docker服务
[root@node02 ~]# systemctl restart docker    
[root@node02 ~]# docker info 
Insecure Registries:
 node01:5000
 127.0.0.0/8

重新上传镜像
[root@node02 ~]# docker push  node01:5000/wabapptest:v0.1
The push refers to repository [node01:5000/wabapptest]
cede286c2f09: Pushed 
adab5d09ba79: Pushed 
v0.1: digest: sha256:3c4b3b1cfa8f16b3e0bcca07a50247f78290202d0de58855344e40b49cc8be11 size: 734

猜你喜欢

转载自blog.51cto.com/13598893/2642210