使用自签名证书配置TLS搭建安全的Docker本地私有库
来源:互联网 发布:淘宝客单页面模板 编辑:程序博客网 时间:2024/06/05 17:10
编辑openssl.cnf文件
openssl.cnf 文件位置:/etc/pki/tls/openssl.cnf
编辑/etc/pki/tls/openssl.cnf
文件,在 [v3_ca]下增加一行:
[ v3_ca ] subjectAltName = IP:192.168.169.125 # 此处IP设置为Docker本地私有库所在主机IP
然后使用openssl命令在当前的certs目录下创建了一个自签名的证书:
[root@mimo150 tls]# mkdir -p certs && openssl req -newkey rsa:4096 \-nodes -sha256 -keyout certs/domain.key \-x509 -days 365 -out certs/domain.crt
在证书的创建过程中,会询问国家、省分、城市、组织、部门和common name的信息,其中common name信息我填写的是Docker私有库主机的IP 10.0.11.150. 证书创建完毕后,在certs目录下出现了两个文件:证书文件domain.crt和私钥文件domain.key。
[root@mimo150 tls]# mkdir -p certs && openssl req -newkey rsa:4096 \-nodes -sha256 -keyout certs/domain.key \-x509 -days 365 -out certs/domain.crtGenerating a 4096 bit RSA private key...........................................................++..............++writing new private key to 'certs/domain.key'-----You are about to be asked to enter information that will be incorporatedinto your certificate request.What you are about to enter is what is called a Distinguished Name or a DN.There are quite a few fields but you can leave some blankFor some fields there will be a default value,If you enter '.', the field will be left blank.-----Country Name (2 letter code) [XX]:chinastring is too long, it needs to be less than 2 bytes longCountry Name (2 letter code) [XX]:中国string is too long, it needs to be less than 2 bytes longCountry Name (2 letter code) [XX]:CN State or Province Name (full name) []:TJ Locality Name (eg, city) [Default City]:TJOrganization Name (eg, company) [Default Company Ltd]:TJXYOrganizational Unit Name (eg, section) []:AI Common Name (eg, your name or your server's hostname) []:10.0.11.150Email Address []:[root@mimo150 tls]#
安装Docker
在10.0.11.150
主机上安装Docker,安装教程查看:Docker安装、操作常用命令
复制domain.crt到指定位置
将前面生成的domain.crt
文件复制到/etc/docker/certs.d/10.0.11.150:5000
目录下,然后重启docker进程:
[root@mimo150 tls]# mkdir -p /etc/docker/certs.d/10.0.11.150:5000[root@mimo150 tls]# cp certs/domain.crt /etc/docker/certs.d/10.0.11.150:5000/ca.crt[root@mimo150 tls]# systemctl restart docker
运行registry容器
在Docker私有库节点10.0.11.150
上运行registry
容器,并暴露容器的5000
端口:
[root@mimo150 tls]# docker run -d -p 5000:5000 --restart=always \ --name bigdata_docker_registry \ --privileged=true \ -v /etc/pki/tls/certs/certs:/certs \ -v /data/docker/registry:/var/lib/registry \ -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \ -e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \ docker.io/registry:latest
-p 5000:5000 : 指定外部端口5000映射容器内端口5000
–name registry : 容器名称
-v /etc/pki/tls/certs:/certs : 指定外部目录
/etc/pki/tls/certs
映射容器内部目录/certs
-v /data/docker/registry:/var/lib/registry : 同上一样,指定目录挂载映射
同步签名证书到Docker节点
最后,将domain.crt
文件复制到Kubernetes
集群里的所有节点的/etc/docker/certs.d/10.0.11.150:5000
目录下,并重启各节点的docker
进程,例如在10.0.11.151节点上运行:
# mkdir -p /etc/docker/certs.d/10.0.11.150:5000# scp root@10.0.11.150:~/certs/domain.crt /etc/docker/certs.d/10.0.11.150:5000/ca.crt# systemctl restart docker
至此,Docker私有库搭建完成。
- 使用自签名证书配置TLS搭建安全的Docker本地私有库
- TLS安全的docker registry —— 自签名证书 安装
- 搭建Docker私有仓库--自签名方式
- 搭建Docker私有仓库--自签名方式
- 搭建Docker私有仓库--自签名方式
- Java7 安全机制和自签名证书的使用
- docker私有仓库registry的本地搭建
- 自签名证书和私有CA签名的证书的区别 创建自签名证书 创建私有CA 证书类型 证书扩展名
- 自签名证书和私有CA签名的证书的区别 创建自签名证书 创建私有CA 证书类型 证书扩展名
- Docker搭建本地私有仓库
- docker本地私有仓库搭建
- Docker搭建本地私有仓库
- 自签名的证书
- 如何使用Docker搭建私有的DNSServer
- Docker私有仓库的搭建与使用
- 使用CA自签名证书搭建HTTPS网站
- docker 自建证书 私有 registry 搭建
- docker搭建私有仓库v2(Private Registry v2),自签发证书、公网访问、登录认证
- 皮皮J系列 1382-1384
- ci框架集成七牛云sdk
- c++实现吃豆子游戏
- 如何设计出正确的搜索模式?
- es6中标签模板实例中的tab函数的理解
- 使用自签名证书配置TLS搭建安全的Docker本地私有库
- “沉浸式大型线下游戏”?看看这次腾讯TGC上如何玩很大!
- requestAnimationFrame
- vivado HLS入门流程
- hdoj 1017 A Mathematical Curiosity(再不看清题目我就是g)
- 发现一个坑: 错误: JMX 连接器服务器通信错误: service:jmx:rmi://SKY-20170526VUG
- kafka+spark Streaming+redis小项目
- iOS 获取当前屏幕显示的viewcontroller
- A05_IO文件流读写