Pendahuluan
Docker memungkinkan pengguna untuk menjalankan berbagai aplikasi yang diisolasi dari komputer host, tanpa perlu memiliki sistem operasi terpisah untuk menjalankannya. Sebagai gantinya, Anda menginstal dan mengelola container Docker dengan mesin containerization (daemon Docker), yang memiliki peran serupa dengan hypervisor untuk mesin virtual.
Saat Anda mulai menggunakan Docker, Anda akan menghadapi situasi di mana Anda perlu mengetahui cara berbagi data antar container.
Prasyarat
- Pengguna dengan hak istimewa sudo
- Akses ke terminal/baris perintah
- Rilis Docker yang stabil
Langkah 1:Buat Wadah dengan Volume Data
Untuk mendemonstrasikan cara berbagi di antara dua penampung, Anda perlu membuat penampung (Penampung1 ) dengan volume data (datavolume1 ) Anda dapat membagikannya nanti.
1. Pertama, buat volume independen yang akan Anda bagikan di antara dua kontainer Docker:
docker volume create --name DataVolume1
2. Kemudian, buat container Docker dan beri nama Container1 dengan volume data yang dilampirkan dengan menjalankan perintah berikut:
docker run -ti --name=Container1 -v DataVolume1:/datavolume1 ubuntu
2. Selanjutnya, buat file di volume data dan tambahkan beberapa teks ke dalamnya:
echo "Share this file between containers" > /datavolume1/Example.txt
3. Keluar dari container dengan perintah:exit
Langkah 2:Buat Wadah Baru dan Tambahkan ke Volume Data
Selanjutnya, buat wadah baru (Container2 ) yang akan berbagi file dengan Container1 .
1. Buat Container2 dan pasang volume dari Container1 :
docker run -ti --name=Container2 --volumes-from Container1 ubuntu
2. Tambahkan teks dari Container2 untuk menunjukkan bahwa kedua wadah dapat menulis ke DataVolume1 :
echo "This will also appear in DataVolume1" >> /datavolume1/Example.txt
3. Untuk keluar dari Container2 gunakan perintah:exit
Langkah 3:Pastikan Anda Dapat Membagikan Data Antar Wadah Docker
1. Mulai ulang Container1 untuk memeriksa perubahan pada volume data:
docker restart Container1
2. Konfirmasikan bahwa kedua wadah dapat membaca dan menulis ke volume data yang sama dan bahwa teks yang Anda tulis di Penampung2 muncul di DataVolume1 :
cat /datavolume1/Example.txt
Jika teks berhasil ditambahkan ke volume data, output akan menampilkan berikut ini:
Share this file between containers
This will also appear in DataVolume1
3. Untuk menyelesaikan, keluar dari wadah dengan perintah:exit
Opsional:Buat Volume Hanya-Baca
Membuat wadah Docker “hanya-baca” mencegah orang lain membuat perubahan apa pun pada data, sehingga mereka hanya dapat melihat file.
Tambahkan :ro
ke nama penampung yang harus dibagikan tetapi tidak diubah.
Dalam contoh berikut, Container2 akan diizinkan untuk melihat file dari Container1 tetapi tidak dapat mengeditnya.
docker run -ti --name=Container2 --volumes-from Container1:ro ubuntu
Untuk memeriksa apakah Container2 memiliki hak hanya baca, coba hapus file contoh dari Container1 dengan menjalankan perintah:
rm /datavolume1/Example.txt
Outputnya akan menunjukkan bahwa Anda telah berhasil membuat file read-only. Akibatnya, wadah lain dapat mengakses dan melihat data, tetapi tidak dapat memberikan kontribusi atau perubahan apa pun padanya.