public String execInContainer(String containerId, String command, ImageConfiguration imageConfiguration)
        throws DockerAccessException, ExecException {
        Arguments arguments = new Arguments();
        arguments.setExec(Arrays.asList(EnvUtil.splitOnSpaceWithEscape(command)));
        String execContainerId = docker.createExecContainer(containerId, arguments);
        docker.startExecContainer(execContainerId, logConfig.createSpec(containerId, imageConfiguration));

        ExecDetails execContainer = docker.getExecContainer(execContainerId);
        Integer exitCode = execContainer.getExitCode();
        if (exitCode != null && exitCode != 0) {
            ContainerDetails container = docker.getContainer(containerId);
            throw new ExecException(execContainer, container);
        }
        return execContainerId;
    }
Create and start a Exec container with the given image configuration.
@param containerId container id to run exec command against
@param command command to execute
@param imageConfiguration configuration of the container's image
@return the exec container id

@throws DockerAccessException if access to the docker backend fails
src/main/java/io/fabric8/maven/docker/service/RunService.java