final String command = on(' ').join(escape(job.getCommand())); final String env = Joiner.on(" ").withKeyValueSeparator("=").join(job.getEnv()); final JobStatus status = jobStatuses.get(jobId);
job.getExpires() == null ? "never" : DATE_FORMATTER.format(job.getExpires())); out.printf("Hostname: %s%n", job.getHostname()); out.printf("Command: %s%n", quote(job.getCommand())); printMap(out, "Env: ", QUOTE, job.getEnv()); out.printf("Health check: %s%n", formatHealthCheck(job.getHealthCheck()));
/** * 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(); }
/** * Compute docker container cmd arguments and resolve them against the hosts environment. * @param properties Host environment * @return The container cmd arguments. */ private List<String> containerCmdStrings(final Map<String, String> properties) { final List<String> list = Lists.newArrayListWithCapacity(job.getCommand().size()); for (String value : job.getCommand()) { list.add(StrSubstitutor.replace(value, properties)); } return list; }
@Override protected int runWithJobId(final Namespace options, final HeliosClient client, final PrintStream out, final boolean json, final JobId jobId, final BufferedReader stdin) throws ExecutionException, InterruptedException { final Map<JobId, Job> jobs = client.jobs(jobId.toString()).get(); if (jobs.size() == 0) { out.printf("Unknown job: %s%n", jobId); return 1; } final Job job = Iterables.getOnlyElement(jobs.values()); if (json) { out.println(Json.asPrettyStringUnchecked(job)); } else { out.printf("Id: %s%n", job.getId()); out.printf("Image: %s%n", job.getImage()); out.printf("Hostname: %s%n", job.getHostname()); out.printf("Command: %s%n", quote(job.getCommand())); printMap(out, "Env: ", QUOTE, job.getEnv()); out.printf("Health check: %s%n", formatHealthCheck(job.getHealthCheck())); out.printf("Grace period (seconds): %s%n", job.getGracePeriod()); printMap(out, "Ports: ", FORMAT_PORTMAPPING, job.getPorts()); printMap(out, "Reg: ", FORMAT_SERVICE_PORTS, job.getRegistration()); out.printf("Security options: %s%n", job.getSecurityOpt()); out.printf("Network mode: %s%n", job.getNetworkMode()); out.printf("Token: %s%n", job.getToken()); printVolumes(out, job.getVolumes()); } return 0; }
final String command = on(' ').join(escape(job.getCommand())); final String env = Joiner.on(" ").withKeyValueSeparator("=").join(job.getEnv()); final JobStatus status = futures.get(jobId).get();