Docker - 实战TLS加密通讯
生活随笔
收集整理的這篇文章主要介紹了
Docker - 实战TLS加密通讯
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
使用說明
演示環境(centos7,docker17.06.0-ce)
創建一個文件夾
創建ca密鑰
openssl genrsa -aes256 -out ca-key.pem 4096創建ca證書
openssl req -new -x509 -days 1000 -key ca-key.pem -sha256 -subj "/CN=*" -out ca.pem創建服務器私鑰
openssl genrsa -out server-key.pem 4096簽名私鑰
openssl req -subj "/CN=*" -sha256 -new -key server-key.pem -out server.csr使用ca證書與私鑰證書簽名
openssl x509 -req -days 1000 -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem生成客戶端密鑰
openssl genrsa -out key.pem 4096簽名客戶端
openssl req -subj "/CN=client" -new -key key.pem -out client.csr創建配置文件
echo extendedKeyUsage=clientAuth > extfile.cnf簽名證書
openssl x509 -req -days 1000 -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out cert.pem -extfile extfile.cnf刪除多余文件
rm -rf ca.srl client.csr extfile.cnf server.csr配置docker
cat /lib/systemd/system/docker.service將里面的
ExecStart=/usr/bin/dockerd修改為
ExecStart=/usr/bin/dockerd --tlsverify --tlscacert=/ssl/ca.pem --tlscert=/ssl/server-cert.pem --tlskey=/ssl/server-key.pem -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock重啟后臺進程
systemctl daemon-reload重啟docker服務
systemctl restart docker將 /ssl/ca.pem /ssl/cert.pem /ssl/key.pem 三個文件復制到另一臺主機
直接使用IP地扯連接如出現如下錯誤
不使用localhost方法:將以上創建證書中的/CN=*星號修改成自己的域名即可(例如:/CN=dounine.com)
docker主機連接測試
成功連接提示信息
Client:Version: 17.06.0-ceAPI version: 1.30Go version: go1.8.3Git commit: 02c1d87Built: Fri Jun 23 21:20:36 2017OS/Arch: linux/amd64Server:Version: 17.06.0-ceAPI version: 1.30 (minimum version 1.12)Go version: go1.8.3Git commit: 02c1d87Built: Fri Jun 23 21:21:56 2017OS/Arch: linux/amd64Experimental: false總結
以上是生活随笔為你收集整理的Docker - 实战TLS加密通讯的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring 集成 mybatisPlu
- 下一篇: Centos7 使用Docker 部署N