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 pakaibash
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!
0 Comments