背景:

  docker默认是能使用本地的socket进行管理,这个在集群中使用的时候很不方便,因为很多功能还是需要链接docker服务进行操作,docker默认也可以开启tcp访问,但是这就相当于把整个docker集群对外公开了,很不安全,需要假如TLS进行加密通信,操作如下:

1,TLS配置,生成key文件

复制代码
#!/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为例

  vim  /lib/systemd/system/docker.service

  修改execstart配置   ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -D -H tcp://0.0.0.0:2375 –tlsverify –tlscacert=/root/.docker/ca.pem — tlscert=/root/.docker/server-cert.pem –tlskey=/root/.docker/server-key.pem

4,重新加载配置文件,重启docker进程   systemctl daemon-reload
  service docker restart

5,测试   将cert.pem,key.pem这两个文件复制到测试机上, curl中-k的意思是Allow connections to SSL sites without certs,不验证证书   curl -k https://docker服务器IP:2375/info –cert ./cert.pem –key ./key.pem 6,能返回docker信息即为完成

Astropad推出新配件:让iPad Pro变成显示器

苹果 Mac mini 没有提供任何配件,这意味着购买之后我们需要自己选购额外的显示器、键盘以及鼠标。今天,Astropad 发布了一款被称为 Luna Display 的配件,...

阅读全文

DevExpress VCL for Delphi 各版本收集下载(最新支持Delphi 10.3.3 RIO)

点此下载 最新更新: DevExpress VCL 18.2.5 Full Sources and DxAutoInstsller 下载包含以下内容:  DevExpress VCL for Delphi 帮...

阅读全文

关于法定节假日的问题

1995年5月, 中国开始实行每周5天工作制。 1999年9月18日,中国国务院发布《全国年节及纪念日放假办法》,决定增加公众法定休假日。春节、“五一”和 “十一...

阅读全文

评论已经关闭。