> For the complete documentation index, see [llms.txt](https://zakimaliki.gitbook.io/docker/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://zakimaliki.gitbook.io/docker/basic-docker-part-1/praktek-menjalankan-container-postgres-di-docker.md).

# Praktek menjalankan container Postgres di Docker

Setelah Anda membuat dan menjalankan container PostgreSQL, Anda mungkin ingin menjalankan perintah di dalam container tersebut menggunakan perintah `docker exec`. Berikut adalah langkah-langkah untuk melakukan itu:

#### Langkah-langkah untuk Menjalankan Perintah di dalam Container PostgreSQL menggunakan `docker exec`

1. **Verifikasi Container Berjalan**:

   * Pastikan container PostgreSQL Anda sedang berjalan.

   ```sh
   docker ps
   ```
2. **Jalankan Perintah di dalam Container**:
   * Gunakan perintah `docker exec` untuk masuk ke shell di dalam container atau menjalankan perintah PostgreSQL.
3. **Mengakses Shell di dalam Container**:
   * Untuk mengakses shell di dalam container PostgreSQL, gunakan perintah:

     ```sh
     docker exec -it latihan-postgres bash
     ```
   * `-it` digunakan untuk menjalankan perintah dalam mode interaktif dengan tty (teletype interface).
4. **Menggunakan PostgreSQL Client (`psql`) di dalam Container**:
   * Setelah berada di dalam shell container, Anda dapat menggunakan PostgreSQL client `psql` untuk berinteraksi dengan database:

     ```sh
     psql -U postgres -d marketplace
     ```
   * `-U postgres`: Menentukan pengguna PostgreSQL (yang telah diatur saat membuat container).
   * `-d marketplace`: Menentukan database yang ingin diakses (juga diatur saat membuat container).

#### Contoh Langkah-langkah dengan Output

1. **Verifikasi Container Berjalan**:

   ```sh
   docker ps
   ```

   **Output**:

   ```
   CONTAINER ID   IMAGE      COMMAND                  CREATED        STATUS        PORTS                    NAMES
   abcdef123456   postgres   "docker-entrypoint.s…"   5 minutes ago  Up 5 minutes  0.0.0.0:5432->5432/tcp   latihan-postgres
   ```
2. **Mengakses Shell di dalam Container**:

   ```sh
   docker exec -it latihan-postgres bash
   ```

   **Output** (Anda akan masuk ke shell di dalam container):

   ```
   root@abcdef123456:/#
   ```
3. **Menggunakan PostgreSQL Client (`psql`)**:

   ```sh
   psql -U postgres -d marketplace
   ```

   **Output** (Anda akan masuk ke PostgreSQL prompt):

   ```
   psql (13.3)
   Type "help" for help.

   marketplace=#
   ```
4. **Menjalankan Perintah SQL di PostgreSQL**:

   * Anda sekarang bisa menjalankan perintah SQL di dalam PostgreSQL prompt. Misalnya, untuk melihat tabel yang ada:

     ```sql
     \dt
     ```

   **Output** (jika tidak ada tabel):

   ```
   No relations found.
   ```

#### Sumber

* [Docker Documentation - Docker Exec](https://docs.docker.com/engine/reference/commandline/exec/)
* [PostgreSQL Docker Hub](https://hub.docker.com/_/postgres)

Dengan langkah-langkah di atas, Anda dapat menjalankan perintah di dalam container PostgreSQL menggunakan `docker exec`. Ini memungkinkan Anda untuk melakukan administrasi database dan menjalankan perintah SQL di dalam lingkungan kontainer.
