# Praktek membuat container Postgres di Docker

Setelah menarik image PostgreSQL, langkah selanjutnya adalah membuat container PostgreSQL dengan environment variables, publish port, dan parameter yang telah Anda berikan. Berikut adalah langkah-langkahnya:

#### Langkah-langkah untuk Membuat Container PostgreSQL di Docker

1. **Pastikan Image PostgreSQL Sudah Dipull**:
   * Verifikasi bahwa image PostgreSQL sudah ada di sistem Anda dengan perintah:

     ```sh
     docker images
     ```
2. **Jalankan Container PostgreSQL**:
   * Gunakan perintah `docker run` untuk membuat dan menjalankan container PostgreSQL dengan environment variables, nama container, dan publish port sesuai kebutuhan Anda.

     ```sh
     docker run -p 5432:5432 --name latihan-postgres -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=root -e POSTGRES_DB=marketplace -d postgres
     ```
   * Penjelasan parameter:
     * `-p 5432:5432`: Mempublish port 5432 di host ke port 5432 di container.
     * `--name latihan-postgres`: Memberikan nama `latihan-postgres` pada container.
     * `-e POSTGRES_USER=postgres`: Mengatur username PostgreSQL menjadi `postgres`.
     * `-e POSTGRES_PASSWORD=root`: Mengatur password PostgreSQL menjadi `root`.
     * `-e POSTGRES_DB=marketplace`: Membuat database dengan nama `marketplace`.
     * `-d`: Menjalankan container dalam mode detached (background).
     * `postgres`: Image yang digunakan untuk membuat container.

#### Contoh Langkah-langkah dengan Output

1. **Jalankan Perintah**:

   ```sh
   docker run -p 5432:5432 --name latihan-postgres -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=root -e POSTGRES_DB=marketplace -d postgres
   ```

   **Output** (ID container yang baru dibuat):

   ```
   abcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890
   ```
2. **Verifikasi Container Berjalan**:

   * Gunakan perintah `docker ps` untuk memastikan container PostgreSQL berjalan:

     ```sh
     docker ps
     ```

   **Output**:

   ```
   CONTAINER ID   IMAGE      COMMAND                  CREATED        STATUS        PORTS                    NAMES
   abcdef123456   postgres   "docker-entrypoint.s…"   5 seconds ago  Up 5 seconds  0.0.0.0:5432->5432/tcp   latihan-postgres
   ```

#### Sumber

* [Docker PostgreSQL Documentation](https://hub.docker.com/_/postgres)
* [Docker Documentation - Docker Run](https://docs.docker.com/engine/reference/run/)

Dengan langkah-langkah di atas, Anda akan berhasil membuat dan menjalankan container PostgreSQL dengan environment variables, publish port, dan nama container yang sesuai kebutuhan Anda.
