protected JdbcDatabaseContainer newInstanceFromConnectionUrl(
        ConnectionUrl connectionUrl,
        final String userParamName,
        final String pwdParamName
    ) {
        Objects.requireNonNull(connectionUrl, "Connection URL cannot be null");

        final String databaseName = connectionUrl.getDatabaseName().orElse("test");
        final String user = connectionUrl.getQueryParameters().getOrDefault(userParamName, "test");
        final String password = connectionUrl.getQueryParameters().getOrDefault(pwdParamName, "test");

        final JdbcDatabaseContainer<?> instance;
        if (connectionUrl.getImageTag().isPresent()) {
            instance = newInstance(connectionUrl.getImageTag().get());
        } else {
            instance = newInstance();
        }

        return instance
            .withReuse(connectionUrl.isReusable())
            .withDatabaseName(databaseName)
            .withUsername(user)
            .withPassword(password);
    }
Instantiate a new {@link JdbcDatabaseContainer} using information provided with {@link ConnectionUrl}.
@param url {@link ConnectionUrl}
@return Instance of {@link JdbcDatabaseContainer}
modules/jdbc/src/main/java/org/testcontainers/containers/JdbcDatabaseContainerProvider.java