创建docker私有仓库
2017-05-13 16:30
309 查看
拓扑环境(做一个安全上传下载的docker私有仓库)
整体思路:
搭建DNS服务器(本文档只做修改hosts文件操作)
安装代理服务器并根据环境配置好文件
建立CA服务器,并在代理服务器和客户端上做证书验证
在docker client做配置,完成
vim /etc/hostname
docker.test.com
vim /etc/hosts //在registry server和Docker client都做好
192.168.1.1 docker.test.com
编辑Nginx配置文件
1.生成根秘钥:
openssl genrsa -out private/cakey.pem 2048
2.做自签证书
openssl req -new -x509 /etc/pki/CA/private/cakey.pem -out /etc/CA/cacert.pem
根据提示内容填写信息
3.初始化工作环境
4.在各节点中申请证书
1)生成各节点私钥
2)生成证书请求
openssl req -new -key /usr/local/nginx/ssl/nginx.key -out /usr/local/nginx/ssl/nginx.csr
这里要输入的信息必须和根证书验证时候添写的信息一样
3)把证书请求文件发送给CA服务器
scp /usr/local/nginx/ssl/nginx.csr 192.168.1.1:/etc/pki/CA/csr
4)并在CA服务器上签署证书
openssl ca -in /etc/pki/CA/csr/nginx.csr -out /etc/pki/CA/nginx.crt
5)发送给请求者
scp /etc/pki/CA/nginx.crt 192.168.1.2:/usr/local/nginx/ssl
systemctl stop docker
2.编辑/etc/sysconfig/docker文件,添加一行
DOCKER_OPTS=”–insecure-registry docker.benet.com –tlsverify –tlscacert /etc/pki/CA/cacert.pem”
这里需要把证书服务器上的cacert.pem发送到registry server的相应文件中
3.把根证书复制到/etc/docker/certs.d/docker.test.com/目录下
docker pull registry
2.运行私有仓库容器并挂载在本地磁盘上
mkdir -p /data/registry
docker run -d -p 5000:5000 -v /data/registry:/tmp/registry docker.io/registry
先从docker registry服务器端把文件/etc/pki/CA/cacert.pem拷贝到本机,然后执行命令:
cat ./cacert.pem >> /etc/pki/tls/certs/ca-certificates.crt
整体思路:
搭建DNS服务器(本文档只做修改hosts文件操作)
安装代理服务器并根据环境配置好文件
建立CA服务器,并在代理服务器和客户端上做证书验证
在docker client做配置,完成
搭建DNS服务器(本文档只做修改hosts文件操作)
在registry server中修改好主机名vim /etc/hostname
docker.test.com
vim /etc/hosts //在registry server和Docker client都做好
192.168.1.1 docker.test.com
搭建Nginx代理服务器
yum -y install pcer-devel zlib-devel groupadd nginx useradd -s /sbin/nologin nginx -g nginx tar xzf nginx-*.tar.gz -C /usr/src cd /usr/src/nginx-* --user=nginx //设定程序运行的用户环境 --group=nginx //设定程序运行的组环境 --prefix=PATH //设定安装目录 --with-pcre //启用pcre库,Nginx的Rewrite模块和HTTP核心模块会使用到PCRE正则表达式 --with-http_stub_status_module //是为了启用 nginx 的 NginxStatus 功能,用来监控 Nginx 的当前状态 --with-http_ssl_module //开启SSL模块,支持使用HTTPS协议的网页 --with-http_realip_module //开启Real IP的支持,该模块用于从客户请求的头数据中读取Real Ip地址 --with-http_addition_module //开启Addtion模块,该模块允许你追加或前置数据到相应的主体部分 --with-http_flv_module //为Flash Video(FLV)文件 提供服务端伪流媒体支持 make && make install
编辑Nginx配置文件
# vi /opt/nginx/conf/nginx.conf user nginx; worker_processes 4; events { worker_connections 4096; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; upstream registry { server 192.168.1.2:5000; } server { listen 443 ssl; server_name docker.test.com; ssl_certificate /usr/local/nginx/ssl/nginx.crt; ssl_certificate_key /usr/local/nginx/ssl/nginx.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location / { proxy_pass http://registry; client_max_body_size 3000m; proxy_set_header Host $host; proxy_set_header X-Forward-For $remote_addr; } } }
搭建CA服务器
yum -y install openssl openssl-devel1.生成根秘钥:
openssl genrsa -out private/cakey.pem 2048
2.做自签证书
openssl req -new -x509 /etc/pki/CA/private/cakey.pem -out /etc/CA/cacert.pem
根据提示内容填写信息
3.初始化工作环境
touch /etc/pki/CA/{index.txt,serial} echo 01 > /etc/pki/CA/serial //输入一个编号,用来以后管理办理了多少证书
4.在各节点中申请证书
1)生成各节点私钥
mkdir /usr/local/nginx/ssl openssl genrsa -out /usr/local/nginx/ssl/nginx.key 2048
2)生成证书请求
openssl req -new -key /usr/local/nginx/ssl/nginx.key -out /usr/local/nginx/ssl/nginx.csr
这里要输入的信息必须和根证书验证时候添写的信息一样
3)把证书请求文件发送给CA服务器
scp /usr/local/nginx/ssl/nginx.csr 192.168.1.1:/etc/pki/CA/csr
4)并在CA服务器上签署证书
openssl ca -in /etc/pki/CA/csr/nginx.csr -out /etc/pki/CA/nginx.crt
5)发送给请求者
scp /etc/pki/CA/nginx.crt 192.168.1.2:/usr/local/nginx/ssl
配置docker文件并运行(在registry server中配置)
1.停止dockersystemctl stop docker
2.编辑/etc/sysconfig/docker文件,添加一行
DOCKER_OPTS=”–insecure-registry docker.benet.com –tlsverify –tlscacert /etc/pki/CA/cacert.pem”
这里需要把证书服务器上的cacert.pem发送到registry server的相应文件中
3.把根证书复制到/etc/docker/certs.d/docker.test.com/目录下
mkdir -p /etc/docker/certs.d/docker.test.com cp /etc/pki/CA/cacert.pem /etc/docker/certs.d/docker.benet.com/ca-certificates.crt
运行私有仓库容器
1.获取官方registry镜像运行docker pull registry
2.运行私有仓库容器并挂载在本地磁盘上
mkdir -p /data/registry
docker run -d -p 5000:5000 -v /data/registry:/tmp/registry docker.io/registry
docker client端配置
把docker registry服务器端的根证书追加到ca-certificates.crt文件里先从docker registry服务器端把文件/etc/pki/CA/cacert.pem拷贝到本机,然后执行命令:
cat ./cacert.pem >> /etc/pki/tls/certs/ca-certificates.crt
相关文章推荐
- 创建私有docker仓库
- 创建Docker私有仓库
- 创建docker私有仓库
- docker创建私有仓库及存储image
- docker创建私有镜像仓库搭建教程
- 局域网部署Docker--从无到有创建自己的Docker私有仓库
- docker创建私有仓库及存储image
- Docker学习笔记 - 创建私有的镜像仓库
- docker创建私有仓库
- 使用Docker registry镜像创建私有仓库的方法
- 局域网部署docker--从无到有创建自己的docker私有仓库
- 使用Docker registry镜像创建私有仓库
- docker 创建私有仓库registry 链接ldap
- centos6.5 docker私有仓库创建
- Docker学习总结之docker创建私有仓库(private Repositories)
- docker 私有仓库的创建
- docker 创建和使用私有仓库
- docker创建私有仓库(转)
- Docker Registry创建自己私有仓库
- 使用Docker registry镜像创建私有仓库