Docker Registry 介绍
Docker Registry,它是所有仓库(包括共有和私有)以及工作流的中央Registry。
私有仓库和共有仓库类似,不同之处在于前者不会在搜索结果中显示,也没有访问它的权限。只有用户设置为合作者才能访问私有仓库。
下载镜像并运行
假设主机ip为192.168.1.100
# 下载镜像
[root@localhost ~]# docker pull registry
# 启动Docker Registry容器
[root@localhost ~]# docker run -p 15000:5000 -v registry:/var/lib/registry --restart=always --name docker-registry -d registry
# 查看Docker Registry进程
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d67e675391bf registry "/entrypoint.sh /e..." 5 weeks ago Up 2 weeks 0.0.0.0:25000->5000/tcp docker-registry
配置客户端Insecure Registry
# 编辑文件
vi /etc/docker/daemon.json
{
"registry-mirrors": ["http://hub-mirror.c.163.com","https://docker.mirrors.ustc.edu.cn","https://registry.docker-cn.com"] ,
"insecure-registries":["192.168.1.100:25000"]
}
#重启docker服务
systemctl daemon-reload
systemctl restart docker
说明:
registry-mirrors 为docker镜像库,配置了国内镜像之后,下载速度会快不少
insecure-registries 为不安全的镜像,我们的Registry配置在这里,push或者pull镜像的机器都需要配置
将Docker镜像推到Registry中
# 给本地镜像打Tag
[root@localhost ~]# docker tag centos:latest 192.168.1.100:25000/centos:latest
# 推到Registry服务器中
[root@localhost ~]# docker push 192.168.1.100:25000/centos:latest
从Docker Registry下载镜像
[root@localhost ~]docker pull 192.168.1.100:25000/centos:latest
配置Docker Registry管理界面
Docker官方只提供了REST API,并没有给我们一个界面。 可以使用Portus来管理私有仓库, 同时可以使用简单的UI管理工具, Docker提供私有库“hyper/docker-registry-web”, 下载该镜像就可以使用了。
docker run -d \
-p 8080:8080 \
--name registry-web \
--link docker-registry \
-e REGISTRY_URL=http://docker-registry:5000/v2 \
-e REGISTRY_NAME=localhost:25000 \
hyper/docker-registry-web
访问 http://192.168.1.100:8080