@Override
    @SneakyThrows({ InterruptedException.class, ExecutionException.class })
    public void start() {
        if (containerId != null) {
            return;
        }
        Startables.deepStart(dependencies).get();
        // trigger LazyDockerClient's resolve so that we fail fast here and not in getDockerImageName()
        dockerClient.authConfig();
        doStart();
    }
Starts the container using docker, pulling an image if necessary.
core/src/main/java/org/testcontainers/containers/GenericContainer.java