说明:本文与《docker remote api一键TSL加密》具有一定的关联性,下文中引用到的内容都会被单独标注出来。
先决条件:
- docker开启了远程接口功能
$ vim /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd \
--tlsverify \
--tlscacert=/root/tls/pem/ca.pem \
--tlscert=/root/tls/pem/server-cert.pem \
--tlskey=/root/tls/pem/server-key.pem \
-H tcp://0.0.0.0:2376 \
-H unix://var/run/docker.sock
其中有-H tcp://0.0.0.0:2376 -H unix://var/run/docker.sock就表示已开启,上部分tls配置是根据《docker remote api一键TSL加密》配置的服务端加密文件。
- 服务器配备了https
将《docker remote api一键TSL加密》文中生成的ca.pem(CA机构证书)、client-cert.pem(客户端证书)、client-key.pem(客户私钥)复制到你windows系统中,随便放在哪个路径都可以,后面都是由idea选择到对应的文件夹。
此时必须把你复制过来的文件重命名,将client-cert.pem重命名为cert.pem,将client-key.pem重命名为key.pem。
否则后续连接时,idea报错:
Cannot connect: java.lang.llegalArgumentException:Can't locate certificate files under
D:\software\docker-ca
在idea的File->Settings中找到Docker,添加docker信息:
当出现Connection successful时,就表示连接成功。
如果出现docker chanel disconnected before any data was received错误,有可能是上文《docker remote api一键TSL加密》生成证书时,命令echo subjectAltName=IP:$DOMAIN_HOST,IP:0.0.0.0 > /tmp/extfile.cnf没有配置IP:$DOMAIN_HOST,即本身服务器的外网ip。