Perintah cp Docker adalah utilitas praktis yang memungkinkan untuk menyalin file dan folder antara wadah dan sistem host.
Jika Anda ingin menyalin file dari sistem host Anda ke wadah, Anda harus menggunakan perintah docker cp seperti ini:
docker cp host_source_path container:destination_path
Jika Anda ingin menyalin file dari wadah ke sistem host, gunakan perintah ini:
docker cp container:source_path host_destination_path
Itu mungkin terlihat sedikit menakutkan, jadi izinkan saya menjelaskannya kepada Anda dengan beberapa contoh praktis.
Contoh perintah cp docker

Dalam tutorial saya, saya telah menginstal Docker di Ubuntu. Tetapi langkah-langkahnya sama untuk semua distribusi yang menjalankan buruh pelabuhan.
Saya harap Anda tahu cara menjalankan container docker karena Anda memerlukan container yang sedang berjalan.
Daftarkan container Anda yang sedang berjalan terlebih dahulu menggunakan docker ps perintah:
[email protected]:~$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8353c6f43fba 775349758637 "bash" 8 seconds ago Up 7 seconds ubu_container
Anda perlu mengetahui ID penampung atau nama penampung. Dalam kasus saya, nama wadah buruh pelabuhan adalah ubu_container . dan ID penampungnya adalah 8353c6f43fba .
Jika Anda ingin memverifikasi bahwa file telah berhasil disalin, Anda dapat memasukkan wadah Anda dengan cara berikut dan kemudian menggunakan perintah Linux biasa:
docker exec -it ubu_container bash
1. Salin file dari sistem host ke wadah buruh pelabuhan
Menyalin dengan docker cp mirip dengan perintah salin di Linux.
Saya akan menyalin file bernama a.py ke direktori home/dir1 di wadah.
docker cp a.py ubu_container:/home/dir1
Jika file berhasil disalin, Anda tidak akan melihat output apa pun di layar. Jika jalur tujuan tidak ada, Anda akan melihat kesalahan:
[email protected]:~$ sudo docker cp a.txt ubu_container:/home/dir2/subsub
Error: No such container:path: ubu_container:/home/dir2
Jika file tujuan sudah ada, itu akan ditimpa tanpa peringatan apapun.
Anda juga dapat menggunakan ID penampung sebagai ganti nama penampung:
docker cp a.py 8353c6f43fba:/home/dir1
Docker Run vs Start vs Create:Perbedaan Dijelaskan Untuk pemula docker, istilah seperti docker start, docker run, dan docker create bisa membingungkan. Artikel ini menjelaskan perbedaannya dengan contoh. 

2. Salin file dari wadah buruh pelabuhan ke sistem host
Perintah docker cp dijalankan di sistem host saja. Anda tidak dapat menjalankannya dalam wadah.
Bahkan jika Anda ingin menyalin file dari wadah buruh pelabuhan ke sistem host, Anda harus berada di sistem host dan menggunakan perintah dengan cara berikut:
sudo docker cp ubu_container:/home/dir1/new.txt /home/abhishek
3. Salin direktori antara wadah dan sistem host
Jika Anda ingin menyalin direktori di Linux menggunakan perintah cp, Anda harus menggunakan opsi rekursif -r.
Tetapi dalam perintah docker cp, Anda tidak memerlukan opsi seperti itu. Perintah yang sama berfungsi untuk menyalin file dan folder.
docker cp /home/abhishek/my_dir ubu_container:/home
sudo docker cp ubu_container:/home/my_dir /home/abhishek
4. Salin file dan direktori dengan atribut asli
Anda dapat menggunakan mode arsip saat menyalin dengan opsi -a. Dengan ini, Anda dapat menyalin semua izin file, UID dan GID dari file asli.
docker cp -a host_source_path container:destination_path
docker cp -a container:source_path host_destination_path
Itu saja. Anda lihat betapa mudahnya menyalin file antara host dan container menggunakan perintah docker cp.
Jika Anda memiliki pertanyaan atau saran, beri tahu saya di sistem komentar.