docker 私有仓库高级配置

目标:使用Docker Compose 搭建一个拥有权限认证、TLS的私有仓库,仓库地址为dockerrepo.cnbly.cn

        首先新建一个目录,然后所有的操作均在如下目录进行。

[root@DockerImages ~]# mkdir /dockerrepo
[root@DockerImages ~]# cd /dockerrepo/

 

准备站点证书:

证书一般各大云服务运行商会免费为你的域名提供证书,因为本次我使用的是本地虚拟机,这里我是自行利用openssl自行签发证书

私有仓库的地址:dockerrepo.cnbly.cn

 

第一步 创建 CA 私钥

[root@DockerImages dockerrepo]# openssl genrsa  -out  "root-ca.key"  4096

第二步 利用私钥创建 CA 跟证书请求文件。

[root@DockerImages dockerrepo]# openssl  req  -new   -key "root-ca.key"  -out "root-ca.csr"   -subj '/C=CN/ST=Guangdong/L=Shenzhen/O=Lian Hong Rui/CN=Lian Hong Rui Docker Registry CA'

#以上命令中 -subj 参数里的 /C 表示国家,如 CN ; /ST 表示省; /L表示城市或者地区; /O 表示组织名;/CN 通用名称。

第三步:配置CA根证书,新建root-ca.cnf

[root@DockerImages dockerrepo]# cat root-ca.cnf
[root_ca]
basicConstraints = critical,CA:TRUE,pathlen:1
keyUsage = critical, nonRepudiation, cRLSign, keyCertSign
subjectKeyIdentifier=hash

第四步:签发根证书

[root@DockerImages dockerrepo]# openssl x509 -req -days 3650 -in "root-ca.csr" -signkey "root-ca.key" -sha256 -out "root-ca.crt" -extfile "root-ca.cnf" -extensions  root_ca 
Signature ok
subject=/C=CN/ST=Guangdong/L=Shenzhen/O=Lian Hong Rui/CN=Lian Hong Rui Docker Registry CA
Getting Private key

第五步:生成站点 SSL 私钥

[root@DockerImages dockerrepo]# openssl genrsa  -out "dockerrepo.cnbly.cn.key"  4096
Generating RSA private key, 4096 bit long modulus
............................................................................................++
....++
e is 65537 (0x10001)
[root@DockerImages dockerrepo]#

第六步:使用私钥生成证书请求文件

[root@DockerImages dockerrepo]# openssl req -new -key "dockerrepo.cnbly.cn.key"  -out "site.csr"  -sha256   -subj  '/C=CN/ST=Guangdong/L=Shenzhen/O=Lian Hong Rui/CN=dockerrepo.cnbly.cn'

第七步:配置证书,新建 site.cnf 文件

[server]
authorityKeyIdentifier=keyid,issuer
basicConstraints = critical,CA:FALSE
extendedKeyUsage=serverAuth
keyUsage = critical, digitalSignature, keyEncipherment
subjectAltName = DNS:dockerrepo.cnbly.cn, IP:127.0.0.1
subjectKeyIdentifier=hash

第八步:签署站点 SSL 证书。

[root@DockerImages dockerrepo]# openssl x509 -req -days 750 -in "site.csr"  -sha256  -CA "root-ca.crt"  -CAkey "root-ca.key"  -CAcreateserial -out "dockerrepo.cnbly.cn.crt"  -extfile  "site.cnf" -extensions server
Signature ok
subject=/C=CN/ST=Guangdong/L=Shenzhen/O=Lian Hong Rui/CN=dockerrepo.cnbly.cn
Getting CA Private Key
[root@DockerImages dockerrepo]# 

这样已经拥有了 dockerrepo.cnbly.cn 的网站 SSL 私钥dockerrepo.cnbly.cn .key 和 SSL 证书 dockerrepo.cnbly.cn .crt 及 CA 根证书 root-ca.crt 。
新建 ssl 文件夹并将 dockerrepo.cnbly.cn .key   dockerrepo.cnbly.cn .crt  root-ca.crt 这三个文件移入,删除其他文件。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值