.withRegistryEmail(clientProfile.getEmail()) .withRegistryUrl(clientProfile.getServerAddress()) .withCustomSslConfig(sslConfig);
private static DockerClient createDockerClient(String dockerUrl, String dockerVersion, String dockerCertPath, AuthConfig authConfig) { // TODO JENKINS-26512 SSLConfig dummySSLConf = (new SSLConfig() { public SSLContext getSSLContext() throws KeyManagementException, UnrecoverableKeyException, NoSuchAlgorithmException, KeyStoreException { return null; } }); if (dockerCertPath != null) { dummySSLConf = new LocalDirectorySSLConfig(dockerCertPath); } DefaultDockerClientConfig.Builder configBuilder = new DefaultDockerClientConfig.Builder().withDockerHost(dockerUrl) .withApiVersion(dockerVersion).withCustomSslConfig(dummySSLConf); if (authConfig != null) { configBuilder.withRegistryUsername(authConfig.getUsername()) .withRegistryEmail(authConfig.getEmail()) .withRegistryPassword(authConfig.getPassword()) .withRegistryUrl(authConfig.getRegistryAddress()); } // using jaxrs/jersey implementation here (netty impl is also available) DockerCmdExecFactory dockerCmdExecFactory = new DockerCmdExecFactoryImpl() .withConnectTimeout(1000) .withMaxTotalConnections(1) .withMaxPerRouteConnections(1); return DockerClientBuilder.getInstance(configBuilder).withDockerCmdExecFactory(dockerCmdExecFactory).build(); }
/** Creates a new {@link DockerClient} */ private static SharableDockerClient makeClient(final String dockerUri, final String credentialsId, final Integer readTimeoutInMillisecondsOrNull, final Integer connectTimeoutInMillisecondsOrNull) { final DockerClient actualClient = DockerClientBuilder.getInstance( new DefaultDockerClientConfig.Builder() .withDockerHost(dockerUri) .withCustomSslConfig(toSSlConfig(credentialsId)) ) .withDockerCmdExecFactory(new NettyDockerCmdExecFactory() .withReadTimeout(readTimeoutInMillisecondsOrNull) .withConnectTimeout(connectTimeoutInMillisecondsOrNull)) .build(); final SharableDockerClient multiUsageClient = new SharableDockerClient(actualClient); return multiUsageClient; }