use of io.fabric8.maven.docker.config.Arguments in project docker-maven-plugin by fabric8io.
the class DockerFileBuilderTest method testDockerFileOptimisation.
@Test
public void testDockerFileOptimisation() throws Exception {
Arguments a = Arguments.Builder.get().withParam("c1").withParam("c2").build();
String dockerfileContent = new DockerFileBuilder().add("/src", "/dest").baseImage("image").cmd(a).env(ImmutableMap.of("foo", "bar")).basedir("/export").expose(Collections.singletonList("8080")).maintainer("maintainer@example.com").workdir("/tmp").labels(ImmutableMap.of("com.acme.foobar", "How are \"you\" ?")).volumes(Collections.singletonList("/vol1")).run(Arrays.asList("echo something", "echo second", "echo third", "echo fourth", "echo fifth")).optimise().content();
String expected = loadFile("docker/Dockerfile_optimised.test");
assertEquals(expected, stripCR(dockerfileContent));
}
use of io.fabric8.maven.docker.config.Arguments in project docker-maven-plugin by fabric8io.
the class DockerFileBuilderTest method testBuildDockerFileBadPort.
@Test(expected = IllegalArgumentException.class)
public void testBuildDockerFileBadPort() throws Exception {
Arguments a = Arguments.Builder.get().withParam("c1").withParam("c2").build();
new DockerFileBuilder().add("/src", "/dest").baseImage("image").cmd(a).env(ImmutableMap.of("foo", "bar")).basedir("/export").expose(Collections.singletonList("8080aaa/udp")).maintainer("maintainer@example.com").workdir("/tmp").labels(ImmutableMap.of("com.acme.foobar", "How are \"you\" ?")).volumes(Collections.singletonList("/vol1")).run(Arrays.asList("echo something", "echo second")).content();
}
use of io.fabric8.maven.docker.config.Arguments in project docker-maven-plugin by fabric8io.
the class DockerFileBuilderTest method testEntryPointParams.
@Test
public void testEntryPointParams() {
Arguments a = Arguments.Builder.get().withParam("java").withParam("-jar").withParam("/my-app-1.1.1.jar").withParam("server").build();
String dockerfileContent = new DockerFileBuilder().entryPoint(a).content();
assertThat(dockerfileToMap(dockerfileContent), hasEntry("ENTRYPOINT", "[\"java\",\"-jar\",\"/my-app-1.1.1.jar\",\"server\"]"));
}
use of io.fabric8.maven.docker.config.Arguments in project docker-maven-plugin by fabric8io.
the class DockerFileBuilderTest method testEntryPointShell.
@Test
public void testEntryPointShell() {
Arguments a = Arguments.Builder.get().withShell("java -jar /my-app-1.1.1.jar server").build();
String dockerfileContent = new DockerFileBuilder().entryPoint(a).content();
assertThat(dockerfileToMap(dockerfileContent), hasEntry("ENTRYPOINT", "java -jar /my-app-1.1.1.jar server"));
}
use of io.fabric8.maven.docker.config.Arguments in project fabric8 by jboss-fuse.
the class ContainerEditJvmOptionsAction method doExecute.
protected Object doExecute() throws Exception {
validateContainerName(container);
if (!FabricCommand.doesContainerExist(fabricService, container)) {
System.out.println("Container " + container + " does not exists!");
return null;
}
Container containerInstance = FabricCommand.getContainerIfExists(fabricService, container);
String type = containerInstance.getType();
if (!"karaf".equals(type)) {
System.out.println("Sorry, currently only \"karaf\" type container are supported");
return null;
}
// read current jvm values
FabricManager fabricManager = new FabricManager(fabricService);
if (full) {
String jmxUrl = null;
JMXConnector connector = null;
MBeanServerConnection remote = null;
HashMap<String, String[]> authenticationData = null;
jmxUrl = containerInstance.getJmxUrl();
authenticationData = prepareAuthenticationData();
try {
connector = connectOrRetry(authenticationData, jmxUrl);
} catch (Exception e) {
username = null;
password = null;
System.out.println("Operation Failed. Check logs.");
log.error("Unable to connect to JMX Server", e);
return null;
}
ObjectName objName = new ObjectName(JAVA_LANG_OBJECT_NAME);
try {
remote = connector.getMBeanServerConnection();
String[] arguments = (String[]) remote.getAttribute(objName, "InputArguments");
String output = Arrays.toString(arguments);
output = output.replaceAll(",", "");
output = output.substring(1, output.length() - 1);
System.out.println(output);
} catch (Exception e) {
System.out.println("Operation Failed. Check logs.");
log.error("Unable to fetch child jvm opts", e);
}
try {
connector.close();
} catch (IOException e) {
log.error("Errors closing remote MBean connection", e);
}
} else {
try {
String output = fabricManager.getJvmOpts(container);
if ("Inapplicable".equals(output)) {
String message = container + " jvmOpts cannot be handled within Fabric. You have to set required values directly in startup scripts.";
System.out.println(message);
log.error(message);
return null;
}
if (jvmOptions == null) {
System.out.println(output);
} else {
fabricManager.setJvmOpts(container, jvmOptions);
System.out.println("Operation succeeded. New JVM flags will be loaded at the next start of " + container + " container");
log.info("Updated JVM flags for container {}", container);
}
} catch (Exception e) {
System.out.println("Operation Failed. Check logs.");
log.error("Unable to set ssh jvm opts", e);
}
}
return null;
}
Aggregations