public static DockerClient buildDockerClient(Map<String, String> providerProperties) { Properties properties = new Properties(); properties.put(DefaultDockerClientConfig.API_VERSION, "1.22"); properties.putAll(providerProperties); DockerClientConfig config = new DefaultDockerClientConfig.Builder().withProperties(properties).build(); NettyDockerCmdExecFactory execFactory = new NettyDockerCmdExecFactory(); return DockerClientBuilder.getInstance(config).withDockerCmdExecFactory(execFactory).build(); }
public static DockerClient build() { if (dockerClient == null) { DefaultDockerClientConfig.Builder builder = new DefaultDockerClientConfig.Builder(); builder = builder.withApiVersion("1.12"); String dockerHostEnv = System.getenv("DOCKER_HOST"); if (StringUtils.isBlank(dockerHostEnv)) { builder.withDockerHost("unix:///var/run/docker.sock"); } DockerClientConfig config = builder.build(); dockerClient = DockerClientBuilder.getInstance(config).build(); } return dockerClient; }
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; }
private static DockerClient createDockerClient(DockerConfig config) { JerseyDockerCmdExecFactory dockerFactory = new JerseyDockerCmdExecFactory() .withMaxPerRouteConnections(config.maxPerRouteConnections()) .withMaxTotalConnections(config.maxTotalConnections()) .withConnectTimeout(config.connectTimeoutMillis()) .withReadTimeout(config.readTimeoutMillis()); DockerClientConfig dockerClientConfig = new DefaultDockerClientConfig.Builder() .withDockerHost(config.uri()) .build(); return DockerClientImpl.getInstance(dockerClientConfig) .withDockerCmdExecFactory(dockerFactory); } }
/** * Allows you to build the config without system environment interfering for more robust testing */ static Builder createDefaultConfigBuilder(Map<String, String> env, Properties systemProperties) { Properties properties = loadIncludedDockerProperties(systemProperties); properties = overrideDockerPropertiesWithSettingsFromUserHome(properties, systemProperties); properties = overrideDockerPropertiesWithEnv(properties, env); properties = overrideDockerPropertiesWithSystemProperties(properties, systemProperties); return new Builder().withProperties(properties); }
/** * Allows you to build the config without system environment interfering for more robust testing */ static Builder createDefaultConfigBuilder(Map<String, String> env, Properties systemProperties) { Properties properties = loadIncludedDockerProperties(systemProperties); properties = overrideDockerPropertiesWithSettingsFromUserHome(properties, systemProperties); properties = overrideDockerPropertiesWithEnv(properties, env); properties = overrideDockerPropertiesWithSystemProperties(properties, systemProperties); return new Builder().withProperties(properties); }