由于目前大多数的镜像下载网站都是在国外站点,国内用户在下镜像的时候就时常遇到下载速度超慢的情况;而且在将Docker应用到生产环境的过 程中,还会面临下载过来的Docker镜像是否安全的问题。
因些在生产环境下搭建私有的Docker Registry,就是一个一举二得的方案了。但目前国内的大多数企业使用的发行版,为Redhat体系,其中又以Centos环境居多。而网上的资料和出版的书籍在介绍Docker的时候都是以ubuntu为基础进行讲解和配置,而CentOS6.x以上版本访问私有的 Docker
Registry 都需要SSL的支持。因此使用CentOS来搭建此服务最大的难点是配置和使用SSL,并让做为反向代理的nginx支持SSL传输和认证。
搭建环境:
系统:CentOS 7.1
服务器IP:192.168.1.12
服务器域名:registry.exmple.com #https的SSL证书生成时不能用IP地址因此这里随意设置一个域名即可,不一定为真实域名。
客户端IP:192.168.1.11
代理webserver:nignx (反向代理)
为方便大家从总体上掌握服务搭建,在这里简单叙述一下配置流程:
1、在配置端配置SSL:生成密钥、根证书,为nginx服务生成SSL密钥,最后私有CA根据请求完成对nginx证书的签发;
2、编译、安装nginx,并配置为反向代理。监听https的433,对客户端发出的针对433端口的请求转发到registry服务的5000端口;
3、安装Docker的registry镜像并运行容器,监听来自nginx转发过来的请求;
4、在客户端完成SSL证书的添加,并完成上传及下载镜像的操作,完成测试。
二、在Registry服务器上配置SSL
1、安装相关依赖包
yum install -y gcc pcre-devel pcre-static openssl openssl-devel httpd-tools1
注:
gcc 是编译器;
pcre-devel pcre-static 是编译nginx时需要的依赖包;
openssl openssl-devel 用于生成SSL根证书及密钥并进行nignx证书的签发;
httpd-tools 用来生成登录https服务的帐号及密码。
本文出自 “酷比特Linux” 博客,请务必保留此出处http://coolbyte.blog.51cto.com/8289854/1707733
原文地址:http://coolbyte.blog.51cto.com/8289854/1707733