All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.ebean.docker.commands.PostgresContainer Maven / Gradle / Ivy

package io.ebean.docker.commands;

import io.ebean.docker.container.Container;
import io.ebean.docker.container.StopMode;

/**
 * Commands for controlling a postgres docker container.
 */
public class PostgresContainer extends BasePostgresContainer implements Container {

  /**
   * Create a builder for PostgresContainer.
   */
  public static Builder builder(String version) {
    return new Builder(version);
  }

  /**
   * Deprecated - migrate to builder().
   */
  @Deprecated
  public static Builder newBuilder(String version) {
    return builder(version);
  }

  private PostgresContainer(Builder config) {
    super(config);
  }

  /**
   * Builder for Postgres container.
   */
  public static class Builder extends DbConfig {

    private Builder(String version) {
      super("postgres", 6432, 5432, version);
      this.adminUsername = "postgres";
      stopMode(StopMode.Remove);
      tmpfs("/var/lib/postgresql/data:rw");
    }

    @Override
    protected String buildJdbcUrl() {
      return "jdbc:postgresql://" + host + ":" + port + "/" + dbName;
    }

    @Override
    protected String buildJdbcAdminUrl() {
      return "jdbc:postgresql://" + host + ":" + port + "/postgres";
    }

    @Override
    public PostgresContainer build() {
      return new PostgresContainer(this);
    }
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy