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