private JsonNode getDockerAuthConfig() throws Exception {
        log.debug(
            "RegistryAuthLocator has configFile: {} ({}) configEnv: {} ({}) and commandPathPrefix: {}",
            configFile,
            configFile.exists() ? "exists" : "does not exist",
            DOCKER_AUTH_ENV_VAR,
            configEnv != null ? "exists" : "does not exist",
            commandPathPrefix
        );

        if (configEnv != null) {
            log.debug("RegistryAuthLocator reading from environment variable: {}", DOCKER_AUTH_ENV_VAR);
            return OBJECT_MAPPER.readTree(configEnv);
        } else if (configFile.exists()) {
            log.debug("RegistryAuthLocator reading from configFile: {}", configFile);
            return OBJECT_MAPPER.readTree(configFile);
        }

        throw new NotFoundException(
            "No config supplied. Checked in order: " +
            configFile +
            " (file not found), " +
            DOCKER_AUTH_ENV_VAR +
            " (not set)"
        );
    }
Looks up an AuthConfig for a given image name.
<p>
Lookup is performed in following order, as per
https://docs.docker.com/engine/reference/commandline/cli/:
<ol>
    <li>{@code credHelpers}</li>
    <li>{@code credsStore}</li>
    <li>Hard-coded Base64 encoded auth in {@code auths}</li>
    <li>otherwise, if no credentials have been found then behaviour falls back to docker-java's
    implementation</li>
</ol>

@param dockerImageName image name to be looked up (potentially including a registry URL part)
@param defaultAuthConfig an AuthConfig object that should be returned if there is no overriding authentication available for images that are looked up
@return an AuthConfig that is applicable to this specific image OR the defaultAuthConfig.
core/src/main/java/org/testcontainers/utility/RegistryAuthLocator.java