private Optional<AuthConfig> lookupUncachedAuthConfig(String registryName, DockerImageName dockerImageName) {
        try {
            final JsonNode config = getDockerAuthConfig();
            log.debug("registryName [{}] for dockerImageName [{}]", registryName, dockerImageName);

            // use helper preferentially (per https://docs.docker.com/engine/reference/commandline/cli/)
            final AuthConfig helperAuthConfig = authConfigUsingHelper(config, registryName);
            if (helperAuthConfig != null) {
                log.debug("found helper auth config [{}]", AuthConfigUtil.toSafeString(helperAuthConfig));
                return Optional.of(helperAuthConfig);
            }
            // no credsHelper to use, using credsStore:
            final AuthConfig storeAuthConfig = authConfigUsingStore(config, registryName);
            if (storeAuthConfig != null) {
                log.debug("found creds store auth config [{}]", AuthConfigUtil.toSafeString(storeAuthConfig));
                return Optional.of(storeAuthConfig);
            }
            // fall back to base64 encoded auth hardcoded in config file
            final AuthConfig existingAuthConfig = findExistingAuthConfig(config, registryName);
            if (existingAuthConfig != null) {
                log.debug("found existing auth config [{}]", AuthConfigUtil.toSafeString(existingAuthConfig));
                return Optional.of(existingAuthConfig);
            }
        } catch (Exception e) {
            log.info(
                "Failure when attempting to lookup auth config. Please ignore if you don't have images in an authenticated registry. Details: (dockerImageName: {}, configFile: {}, configEnv: {}). Falling back to docker-java default behaviour. Exception message: {}",
                dockerImageName,
                configFile,
                DOCKER_AUTH_ENV_VAR,
                e.getMessage()
            );
        }
        return Optional.empty();
    }
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