.volumes(volumes) .portSpecs(portSpecs) .exposedPorts(exposedPorts) .env(env) .cmd(cmd)
.image(image) .env(flattenedEnvVars) .exposedPorts(exposedPorts) .hostConfig(hostConfig);
.image(BUSYBOX) .cmd("nc", "-p", "4711", "-lle", "cat") .exposedPorts(ImmutableSet.of("4711/tcp")) .hostConfig(hostConfig) .build();
.volumes(volumes) .portSpecs(portSpecs) .exposedPorts(exposedPorts) .env(env) .cmd(cmd)
log.trace("Using port bindings: {}", portBindings.get()); hostConfigBuilder.portBindings(portBindings.get()); containerConfigBuilder.exposedPorts(portBindings.get().keySet());
.hostConfig(hostConfig) .image(context.getProperty(DOCKER_IMAGE_TO_START).evaluateAttributeExpressions().getValue()) .exposedPorts(ports) .env(commaDelimitedToStringArray(context.getProperty(DOCKER_ENV_LIST).evaluateAttributeExpressions().getValue())) .build();
.hostConfig(hostConfig) .image(context.getProperty(DOCKER_IMAGE_TO_START).getValue()) .exposedPorts(ports) .env(commaDelimitedToStringArray(context.getProperty(DOCKER_ENV_LIST).getValue())) .build();
private void buildImageConfig() { final ContainerConfig.Builder configBuilder = ContainerConfig.builder().image(dockerHost.getImage()); if (dockerHost.getCommand() != null) { configBuilder.cmd(dockerHost.getCommand()); } if (dockerHost.getEnv() != null) { configBuilder.env(dockerHost.getEnv()); } if (dockerHost.getExposedPorts() != null) { configBuilder.exposedPorts(dockerHost.getExposedPorts()); } if (dockerHost.isTty()) { configBuilder.tty(true); } final HostConfig.Builder hostConfigBuilder = HostConfig.builder() .publishAllPorts(dockerHost.isExposeAllPorts()) .links(dockerHost.getLinks()); if (dockerHost.hasPortBindings()) { final Map<String, List<PortBinding>> portBindings = new HashMap<>(); for (String binding : dockerHost.getPortBindings()) { final String[] bindings = binding.split(":"); final String containerPort = bindings[1]; final PortBinding hostBinding = PortBinding.of("0.0.0.0", bindings[0]); portBindings.put(containerPort, Collections.singletonList(hostBinding)); } hostConfigBuilder.portBindings(portBindings); } configBuilder.hostConfig(hostConfigBuilder.build()); config = configBuilder.build(); }
private ContainerConfig buildContainerConfig() { // Bind ports String[] ports = {String.valueOf(params.getPort())}; Map<String, List<PortBinding>> portBindings = new HashMap<>(); for (String port : ports) { List<PortBinding> hostPorts = new ArrayList<>(); hostPorts.add(PortBinding.of(ALL_NETWORK_INTERFACES, port)); portBindings.put(port, hostPorts); } HostConfig hostConfig = HostConfig.builder() .privileged(true) .portBindings(portBindings) .build(); // Compose command line for starting Corfu String cmdLine = new StringBuilder() .append("mkdir -p " + params.getStreamLogDir()) .append(" && ") .append("java -cp *.jar org.corfudb.infrastructure.CorfuServer ") .append(getCommandLineParams()) .toString(); return ContainerConfig.builder() .hostConfig(hostConfig) .image(IMAGE_NAME) .hostname(params.getName()) .exposedPorts(ports) .cmd("sh", "-c", cmdLine) .build(); }
/** * Create docker container configuration for a job. * @param imageInfo The ImageInfo object. * @param properties Properties to resolve against. * @return The ContainerConfig object. */ public ContainerConfig containerConfig(final ImageInfo imageInfo, final Map<String, String> properties) { final ContainerConfig.Builder builder = ContainerConfig.builder(); builder.image(job.getImage()); builder.hostname(job.getHostname()); builder.cmd(containerCmdStrings(properties)); builder.hostname(containerHostname(properties)); builder.env(containerEnvStrings()); builder.exposedPorts(containerExposedPorts()); builder.volumes(volumes()); for (final ContainerDecorator decorator : containerDecorators) { decorator.decorateContainerConfig(job, imageInfo, builder); } return builder.build(); }
/** * Returns a new {@link ContainerConfig.Builder} based upon the given configuration. * * Descendant classes can override this method to customize the configuration of the Docker * container beyond what is allowed by {@link DockerConfig}. * * @param config * docker container configuration * @return a new {@link ContainerConfig.Builder} */ protected ContainerConfig.Builder createContainerConfig(final DockerConfig config) { final ContainerConfig.Builder builder = ContainerConfig.builder() // .hostConfig(createHostConfig(config).build()) // .image(config.getImage()) // .networkDisabled(false) // .exposedPorts(config.getPorts()); for (final ContainerConfigurer configurer : config.getContainerConfigurer()) { configurer.configureContainer(builder); } return builder; }
protected ContainerConfig createContainerConfig(String imageName, String[] ports, String cmd) { Map<String, List<PortBinding>> portBindings = new HashMap<>(); for (String port : ports) { List<PortBinding> hostPorts = Collections.singletonList(PortBinding.randomPort("0.0.0.0")); portBindings.put(port, hostPorts); } HostConfig hostConfig = HostConfig.builder() .portBindings(portBindings) .build(); ContainerConfig.Builder configBuilder = ContainerConfig.builder() .hostConfig(hostConfig) .image(imageName) .networkDisabled(false) .exposedPorts(ports); if (cmd != null) { configBuilder = configBuilder.cmd(cmd); } return configBuilder.build(); }
public static FakeS3 create(DockerClient dockerClient) throws DockerException, InterruptedException, IOException { // make sure we have the image dockerClient.pull(IMAGE, System.err::println); Path directory = Files.createTempDirectory("fakeS3"); // bind a fakes3 image to a random host port int port = InstanceSpec.getRandomPort(); return new FakeS3(port, dockerClient.createContainer(ContainerConfig.builder() .hostConfig(HostConfig.builder().portBindings(ImmutableMap.of( CONTAINER_PORT, ImmutableList.of(PortBinding.of("0.0.0.0", port)) )).build()) .image(IMAGE) .exposedPorts(ImmutableSet.of(CONTAINER_PORT)) .build())); }
@Override protected ContainerConfig getContainerConfig() { String timeZone = System.getProperty("user.timezone"); if(timeZone == null || timeZone.isEmpty()) { timeZone = "Etc/UTC"; } return ContainerConfig.builder() .image(getDockerImageName()) .exposedPorts("4444", "5900") .env("TZ=" + timeZone) .cmd("/opt/bin/entry_point.sh") .build(); }
private void configurePorts(DockerTask task, Builder container) { // Port mappings if (task.getPorts() != null) { container.exposedPorts(task.getPorts()); } }
private ContainerCreation createContainer() throws DockerException, InterruptedException { ContainerConfig containerConfig = ContainerConfig.builder() .image(imageName) .hostConfig(hostConfig) .cmd(commands) .env(env) .exposedPorts(usedContainerPorts) .build(); return dockerClient.createContainer(containerConfig, containerName); }
@Override protected void additionalContainerConfiguration(DockerClient client, ContainerConfig.Builder builder) throws DockerException, InterruptedException { builder.exposedPorts(Integer.toString(POSTGRES_PORT)); }
@Override protected ContainerConfig getContainerConfig() { String timeZone = Optional.of(System.getProperty("user.timezone")).orElse("Etc/UTC"); return ContainerConfig.builder() .image(getDockerImageName()) .exposedPorts("4444", "5900") .env("TZ=" + timeZone) .cmd("/opt/bin/entry_point.sh") .build(); }
.exposedPorts(ImmutableSet.of(expose)) .hostConfig(hostConfig) .build();
/** * Create docker container configuration for a job. * * @param imageInfo The ImageInfo object. * * @return The ContainerConfig object. */ public ContainerConfig containerConfig(final ImageInfo imageInfo, final Optional<String> dockerVersion) { final ContainerConfig.Builder builder = ContainerConfig.builder(); builder.image(job.getImage()); builder.cmd(job.getCommand()); builder.hostname(job.getHostname()); builder.env(containerEnvStrings()); builder.exposedPorts(containerExposedPorts()); builder.volumes(volumes().keySet()); builder.labels(job.getLabels()); for (final ContainerDecorator decorator : containerDecorators) { decorator.decorateContainerConfig(job, imageInfo, dockerVersion, builder); } return builder.build(); }