背景:docker
docker默认是能使用本地的socket进行管理,这个在集群中使用的时候很不方便,由于不少功能仍是须要连接docker服务进行操做,docker默认也能够开启tcp访问,可是这就至关于把整个docker集群对外公开了,很不安全,须要假如TLS进行加密通讯,操做以下:vim
1,TLS配置,生成key文件centos
#!/bin/bash openssl genrsa -aes256 -out ca-key.pem 4096 openssl req -new -x509 -days 3650 -key ca-key.pem -sha256 -out ca.pem openssl genrsa -out server-key.pem 4096 openssl req -sha256 -new -key server-key.pem -out server.csr openssl x509 -req -days 3650 -sha256 -in server.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem openssl genrsa -out key.pem 4096 openssl req -new -key key.pem -out client.csr openssl x509 -req -days 3650 -sha256 -in client.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out cert.pem rm -v client.csr server.csr chmod -v 0400 ca-key.pem key.pem server-key.pem chmod -v 0444 ca.pem server-cert.pem cert.pem
2,将ca.pem,server-cert.pem,server-key.pem复制到要开启远程访问服务器的/root/.docker目录下(随便放哪都行)安全
3,修改docker启动文件,以centos7为例bash
vim /lib/systemd/system/docker.service服务器
修改execstart配置curl