由于目前大多数的镜像下载网站都是在国外站点,国内用户在下镜像的时候就时常遇到下载速度超慢的情况;而且在将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服务的帐号及密码。 (责任编辑:IT) |