Edukasi

Copying files atau content between container and filesystem

Hai semuanya, di materi kali ini kita akan membahas cara meng-Copy files/contents dari atau ke container dengan menggunakan perintah docker cp.

Berikut adalah dokumentasinya:

docker cp -h

Jika di jalankan maka hasilnya seperti berikut:

Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

Try the new cross-platform PowerShell https://aka.ms/pscore6

 ~  docker cp -h
Flag shorthand -h has been deprecated, please use --help

Usage:  docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
        docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH

Copy files/folders between a container and the local filesystem

Use '-' as the source to read a tar archive from stdin
and extract it to a directory destination in a container.
Use '-' as the destination to stream a tar archive of a
container source to stdout.

Options:
  -a, --archive       Archive mode (copy all uid/gid information)
  -L, --follow-link   Always follow symbol link in SRC_PATH

Copying contents into container

Sepertinya kita ketahui bersama, container adalah running image as isolation network & volume. Jadi kita tidak bisa akses secara langsung datanya, jika temen-temen mau akses kita bisa meng-copy content yang kita punya ke dalam container yang sedang berjalan. Sebagai contoh coba jalankan container nginx seperti berikut:

docker container run \
–name webapp -p 80:80 nginx

Kemudian kita siapkan juga filenya yang akan kita copy, contohnya seperti berikut:

<html>
<head>
<title>Belajar Docker</title>
</head>
<body>
<h3>Docker Container nginx</h3>
<p>Hai semuanya, ini adalah contoh paragraf menggunakan syntax html</p>
</body>
</html>

Sekarang kita copy filenya ke dalam container dengan perintah seperti berikut:

docker cp 04e-nginx-halo.html webapp:/usr/share/nginx/html/belajar.html && \
docker exec webapp ls /usr/share/nginx/html

Jika di jalankan maka hasilnya seperti berikut:

 nginx  ls
    Directory: C:\Users\dimasm93\Workspaces\Example\docker\nginx

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----         5/10/2021   5:07 AM            218 belajar-docker.html

 nginx  docker cp .\belajar-docker.html webapp:/usr/share/nginx/html/belajar.html

 nginx  docker exec webapp ls /usr/share/nginx/html
50x.html
belajar.html
index.html

Atau klo kita coba akses melalui browser dengan url localhost/belajar.html, Hasilnya seperti berikut:

Copying contents from inside container to filesystem

Sekarang kita akan melakukan copy file sebaliknya yaitu dari dalam suatu container ke local filesystem kita. contohnya saya mau copy semua configurasi nginx pada folder /etc/nginx seperti berikut

 nginx   docker exec -it webapp bash

root@4a652f595022:/# ls /etc/nginx/
conf.d/         koi-win         nginx.conf      win-utf
fastcgi_params  mime.types      scgi_params
koi-utf         modules/        uwsgi_params

Berikut adalah perintahnya:

docker cp webapp:/etc/nginx/ .

Jika dijalankan hasilnya seperti berikut:

 nginx  docker cp webapp:/etc/nginx/ .

 nginx  ls
    Directory: C:\Users\dimasm93\Workspaces\Example\docker\nginx

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----         4/14/2021   2:20 AM                nginx
-a----         5/10/2021   5:07 AM            218 belajar-docker.html


 nginx  ls .\nginx\
    Directory: C:\Users\dimasm93\Workspaces\Example\docker\nginx\nginx

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----         5/10/2021   4:59 AM                conf.d
-a----         4/13/2021  10:13 PM           1007 fastcgi_params
-a----         4/13/2021  10:13 PM           2837 koi-utf
-a----         4/13/2021  10:13 PM           2223 koi-win
-a----         4/13/2021  10:13 PM           5231 mime.types
-a---l         5/10/2021   5:32 AM              0 modules
-a----         4/13/2021  10:40 PM            643 nginx.conf
-a----         4/13/2021  10:13 PM            636 scgi_params
-a----         4/13/2021  10:13 PM            664 uwsgi_params
-a----         4/13/2021  10:13 PM           3610 win-utf

Cleanup

Nah sekarang kita bersihkan-bersih dulu ya. berikut perintahnya:

ryan

Recent Posts

Jadwal Imsak dan Buka Puasa Ramadhan 2025 Kota Serang Selama Sebulan

Berikut jadwal imsak dan buka puasa Ramadhan 2025 di Kota Serang dari tanggal 1 Ramadhan -…

1 minggu ago

Jadwal Resmi Awal Puasa Ramadan 2025 Pemerintah, NU, Muhammadiyah

Jakarta - Pemerintah telah menetapkan awal Ramadan 2025 berdasarkan hasil sidang isbat oleh Kemenag. Begitu pula dengan organisasi masyarakat…

1 minggu ago

Meta AI Ditanya Luas Kebakaran Los Angeles, Hasilnya Mengejutkan Sama dengan Luas Gaza

Siapa sangka, salah satu warganet justru mendapat informasi tak terduga yang berasal dari Meta AI.…

2 bulan ago

Tebak-tebakan pelesetan kata ini lucu abis, awas ketawa ngakak

Ketika menjalani rutinitas sehari-hari tentu saja kamu pernah merasa suntuk atau jenuh. Supaya kamu bisa…

2 bulan ago

Kapal China Diduga Biang Kerok Internet Mati Total di Berbagai Negara

Sebuah kapal kargo komersial China diduga sengaja menyeret jangkarnya untuk memotong kabel bawah laut yang…

3 bulan ago

Ini Sumber Kekayaan Nabi Sulaiman, Sungguh di Luar Dugaan

Nabi Sulaiman dikenal sebagai raja yang kaya raya. Para ilmuwan arkeologi kini mengungkap apa sumber kekayaannya,…

3 bulan ago