Advertisement

Mengatur File dan Folder dalam Container – Docker

 File:Docker (container engine) logo.svg

 

Kalau kamu baru pertama kali ngoprek Docker, pasti pernah bingung:
“File aplikasiku disimpan di mana?”
“Gimana caranya ngecek isi folder dalam container?”
“Kalau mau mindahin file ke container gimana?”

Tenang, kamu nggak sendiri! Docker itu keren buat ngejalanin aplikasi di dalam container, tapi kalau nggak ngerti cara mengatur file dan folder, bisa bikin pusing tujuh keliling.

Di artikel ini, kita bakal bahas tuntas cara mengatur file dan folder dalam container Docker. Kita akan belajar:
  Cara melihat struktur file dalam container
  Cara memindahkan file ke/dari container
  Perintah dasar seperti docker cp, docker exec, dan ls
  Tips & trik supaya file tetap aman!

Langsung aja kita mulai!

1. Melihat Struktur File dalam Container

Setiap container Docker sebenarnya punya sistem file sendiri yang terisolasi dari sistem host. Nah, kalau kita mau menjelajah isi folder di dalam container, kita bisa pakai perintah berikut:

A. Masuk ke Container dengan docker exec

Misalnya kita punya container Nginx yang sedang berjalan:

docker ps

 Hasilnya mungkin seperti ini:

CONTAINER ID   IMAGE    COMMAND     CREATED      STATUS      NAMES
abcdef123456   nginx    "/docker-entrypoint.…"  2 hours ago  Up 2 hours  my-nginx

Sekarang, kita masuk ke dalamnya:

docker exec -it my-nginx sh

 Penjelasan:

  • -it → Interaktif, biar bisa ketik perintah di dalamnya.
  • sh → Jalankan shell bawaan (bisa juga pakai bash kalau ada).

 Sekarang kita sudah berada di dalam container!

B. Melihat Isi Folder dengan ls

Begitu masuk ke dalam container, kita bisa melihat daftar file dengan:

ls -l

 Contoh hasilnya:

drwxr-xr-x 1 root root 4096 Feb 1 12:34 bin
drwxr-xr-x 1 root root 4096 Feb 1 12:34 etc
drwxr-xr-x 1 root root 4096 Feb 1 12:34 var

 Folder penting dalam container:

  • /app → Biasanya tempat menyimpan aplikasi.
  • /var/log → Folder untuk menyimpan log aplikasi.
  • /etc → Berisi file konfigurasi.

2. Memindahkan File ke/Dari Container

Kalau kita ingin memindahkan file dari host ke container atau sebaliknya, kita bisa pakai perintah docker cp.

A. Copy File dari Host ke Container

Misalnya kita punya file index.html di host dan ingin menyalinnya ke folder /usr/share/nginx/html dalam container:

docker cp index.html my-nginx:/usr/share/nginx/html/

 Sekarang, file index.html sudah ada di dalam container!

B. Copy File dari Container ke Host

Misalkan kita ingin menyalin file nginx.conf dari dalam container ke komputer kita:

docker cp my-nginx:/etc/nginx/nginx.conf nginx.conf

 Sekarang, file nginx.conf sudah ada di komputer kita!

3. Mengedit File Langsung di Dalam Container

Kalau kita mau mengedit file langsung dari dalam container, kita bisa gunakan editor seperti nano atau vim.

Misalnya kita mau edit konfigurasi Nginx:

docker exec -it my-nginx sh
nano /etc/nginx/nginx.conf

Tapi hati-hati! Kalau container dihapus, semua perubahan di dalamnya akan hilang.
Solusinya? Gunakan bind mounts atau Docker volumes!

4. Menyimpan File Secara Permanen (Bind Mount & Volume)

Agar file tetap aman walaupun container mati atau dihapus, kita bisa pakai:
  Bind Mounts → Menghubungkan folder di host ke container.
  Docker Volumes → Cara lebih aman untuk menyimpan data di Docker.

 Contoh Bind Mount:

docker run -d -p 8080:80 \
  -v $(pwd)/website:/usr/share/nginx/html \
  --name web-container nginx

 Semua file di ./website di host akan tersedia di /usr/share/nginx/html dalam container!

 Contoh Docker Volume:

docker volume create my_volume
docker run -d -p 8080:80 \
  -v my_volume:/usr/share/nginx/html \
  --name web-container nginx

 Semua data tersimpan dalam volume my_volume, jadi lebih aman!

5. Menghapus File dan Folder dalam Container

Kalau mau menghapus file atau folder dalam container, bisa pakai perintah rm.

 Menghapus file:

rm /usr/share/nginx/html/index.html

 Menghapus folder:

rm -r /usr/share/nginx/html

 Hati-hati! File yang dihapus dari dalam container tidak bisa dikembalikan!

6. Troubleshooting: Masalah Umum dan Solusinya

 Kasus 1: File Tidak Bisa Ditulis dalam Container

 Error:

Permission denied

 Solusi:

  • Gunakan sudo chmod 777 /folder-di-host untuk memberi izin ke semua user.
  • Jalankan container dengan user yang benar:
    docker run -u $(id -u):$(id -g) -v $(pwd)/data:/app my-container
    

 Kasus 2: File Hilang Setelah Container Dihapus

 Penyebab:

  • File hanya tersimpan di dalam container, jadi ikut terhapus kalau container dihapus.

 Solusi:

  • Gunakan bind mounts atau volumes untuk menyimpan data secara permanen.

7. Kesimpulan: Ngatur File di Docker Itu Gampang!

 Intinya:
  Gunakan docker exec -it <container> sh untuk masuk ke dalam container.
  Gunakan ls untuk melihat file dalam container.
  Gunakan docker cp untuk memindahkan file ke/dari container.
  Gunakan bind mounts atau volume supaya data tetap aman.

Sekarang kamu sudah bisa mengelola file dalam container seperti pro!

Post a Comment

0 Comments