此处的 docker api 指的是这个依赖
<dependency>
<groupId>com.github.docker-java</groupId>
<artifactId>docker-java</artifactId>
<version>3.2.7</version>
</dependency>
因为貌似可以用的api不止这一种,所以提一下
关于 tls 都知道原理,通信双方都必须制定好三个东西,可信任证书,本地证书,本地密钥(不说工作原理了)。那么显然应该有参数指定一下才对,然而这个 api 是这样的
DefaultDockerClientConfig config = DefaultDockerClientConfig
.withDockerCertPath("/tls/docker/");
居然是指定一个文件夹,这我真的黑人问号了,而且也没有 找到其他的可以明确指定的api,然后我就点进去源码看了,结果发现这样的代码
public SSLContext getSSLContext() {
// ...
String caPemPath = dockerCertPath + File.separator + "ca.pem";
String keyPemPath = dockerCertPath + File.separator + "key.pem";
String certPemPath = dockerCertPath + File.separator + "cert.pem";
// ...
}
我直接好家伙