码迷,mamicode.com
首页 > 其他好文 > 详细

Docker registry

时间:2019-12-07 14:36:54      阅读:90      评论:0      收藏:0      [点我收藏+]

标签:start   nbsp   需要   mamicode   文件夹   访问   ica   too   rmi   

公司自己的项目肯定少不了搭建私有的docker镜像管理平台,这里记录一下registry搭建过程。

一、简单搭建

1、docker 运行 registry

mkdir -p /data/registry #创建文件夹

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

2、上传

docker pull nginx #拉取nginx

docker tag nginx localhost:5000/nginx:v1.0 #标记nginx

docker push localhost:5000/nginx:v1.0 #发布到Registry中

3、查看Registry中的镜像

curl http://localhost:5000/v2/_catalog

技术图片

 4、拉取和使用

docker images #查询docker中所有镜像

docker rmi localhost:5000/nginx:v1.0 nginx #删除镜像

docker pull localhost:5000/nginx:v1.0 #拉取刚刚上传的镜像

docker run -d --name myNginx -p 8081:80 localhost:5000/nginx:v1.0 #运行镜像

curl http://localhost:8081 #访问nginx

技术图片

 备注:这个半成品“完成了”,如果其它机器需要上传docker会提示https,也可以通过配置docker方式解决,下面来看一下配置SSL

 

二、配置SSL

1、通过nginx配置https然后映射registry

2、配置registry证书

这里有两种方式都可以达到相同的效果,我搭建的是第一种

准备工作:需要拥有一个域名、https证书(我这里是用的阿里云的免费证书)

配置nginx:

server {
        #https
        listen       443;
        server_name  registry.text.top;
        ssl on;
        ssl_certificate   /data/cer/registry.text.top.pem;
        ssl_certificate_key  /data/cer/registry.text.top.key;
        ssl_session_timeout 5m;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        location / {
            proxy_pass http://127.0.0.1:5000;
        }
}

阿里云文档也有详细介绍

提交应用:

docker tag nginx registry.text.top/nginx:v1.0 #标记nginx

docker push registry.text.top/nginx:v1.0 #发布到Registry中

备注:现在已经正常使用了,如果不想任何人都可以上传下载镜像,还需要配置registry验证

 

三、配置registry验证

我这里采用比较简单的htpasswd方式

yum install httpd-tools #安装htpasswd

htpasswd -Bbn admin 123456 > /data/auth/passwd #生成秘钥

查看passwd内容

cat /data/auth/passwd

技术图片

 配置启动registry容器

docker run -d -p 5000:5000 -v /data/registry:/var/lib/registry -v /data/auth:/auth -e REGISTRY_AUTH=passwd -e REGISTRY_AUTH_HTPASSWD_REALM=Registry_Realm -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/passwd --restart=always --name registry registry:2

现在再提交镜像,就会提示:no basic auth credentials

docker登录Registry

docker login registry.text.top

登出

docker logout registry.text.top

 

四、Registry 图形化管理界面

github上面有很多开源的ui管理界面,可以根据自己喜欢搭建,这里挑一个出来配置

地址:https://github.com/jc21/docker-registry-ui

docker run -d -p 5001:80 --name registry-ui -e REGISTRY_HOST=registry.text.top -e REGISTRY_SSL=true -e REGISTRY_DOMAIN=registry.text.top -e REGISTRY_USER=admin -e REGISTRY_PASS=123456 jc21/registry-ui

界面

技术图片

Docker registry

标签:start   nbsp   需要   mamicode   文件夹   访问   ica   too   rmi   

原文地址:https://www.cnblogs.com/fanxp/p/11997448.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!