Skip to content

container.logs().fetch() returning non-ASCII value #302

@kleash

Description

@kleash

Hi Everyone,

I am running ubuntu image with command as date.

docker logs is showing correct output but my program is not able to print anything.

Program:

public class App {
	public static void main(String[] args) throws Exception {
		final Container container = new LocalDocker(new File("/var/run/docker.sock")).containers().create("ubuntutest",
				containerJsonObject());
		container.start();

		while (runningState(container)) {

		}
		final String logs = container.logs().fetch();
		logs.trim();
		System.out.println(logs);
		System.out.println(logs.length());
	}

	private static JsonObject containerJsonObject() {
		JsonObjectBuilder json = Json.createObjectBuilder();
		json.add("AttachStdout", true);
		json.add("AttachStderr", true);
		json.add("Image", "ubuntu");
		json.add("Tty", false);
		json.add("Cmd", "date");
		JsonArrayBuilder builder = Json.createArrayBuilder();
		builder.add("OUT=/scans/firstimg.jpg");
		json.add("Env", builder);
		JsonObjectBuilder hostConfig = Json.createObjectBuilder();
		JsonArrayBuilder binds = Json.createArrayBuilder();
		binds.add("/home/shubham/scans:/scans/");
		hostConfig.add("Binds", binds);
		hostConfig.add("Privileged", true);
		json.add("HostConfig", hostConfig);
		return json.build();
	}

	private static boolean runningState(final Container container) throws IOException {
		return container.inspect().getJsonObject("State").getBoolean("Running");
	}

}

Output of above is:

�

37

Thanks for any help!!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions