Jika Anda baru mengenal Docker, Anda mungkin belum menemukan cara berbagi container dan image dengan developer atau mesin lain. Tetapi apakah mungkin untuk berbagi wadah? Ya! Biarkan docker save
perintah gambar dan docker export
perintah gambar lakukan triknya!
Dalam tutorial ini, Anda akan mempelajari cara menyimpan dan mengekspor container dan gambar untuk dibagikan dengan menjalankan perintah Docker.
Siap? Mari kita mulai!
Prasyarat
Tutorial ini akan menjadi demonstrasi langsung. Jika Anda ingin mengikuti, pastikan Anda memiliki yang berikut:
- Desktop Docker atau Mesin yang diinstal sebagai versi 20.10.7 digunakan dalam tutorial ini.
- Sistem operasi apa pun yang kompatibel dengan Docker, Ubuntu digunakan dalam tutorial ini.
Membangun Aplikasi Docker Basis
Sebelum melompat ke mengekspor atau menyimpan wadah dan gambar Docker, Anda harus terlebih dahulu membangun aplikasi yang akan Anda gunakan untuk tujuan berbagi. Anda akan membangun solusi aritmatika dasar sebagai contoh aplikasi Docker melalui lingkungan baris perintah.
1. Buat file untuk proyek Anda dengan nama Dockerfile
, dan rekatkan kode di bawah ini ke Dockerfile
yang baru dibuat .
Kode di bawah ini melakukan operasi aritmatika dasar yang menghasilkan nilai 10.
# busybox provides Unix utilities in a single executable file,
# which enables you to do some arithmetic.
FROM busybox
# Performs a basic arithmetic operation that results in a value of 10.
CMD echo $(((20*5)/10))
2. Selanjutnya, buka terminal Anda, dan jalankan docker build
perintah di bawah ini untuk membangun aplikasi bernama (arithmetic
) di lokasi kerja (.
).
docker build --tag arithmetic .
Jika Anda menggunakan Linux, Anda mungkin perlu menambahkan perintah sudo untuk menghindari kesalahan "izin ditolak", seperti ini:
sudo docker build --tag arithmetic
. Menambahkansudo
command mengangkat perintah sebagai administrator.
3. Jalankan perintah di bawah ini untuk menjalankan aplikasi Docker yang Anda buat (arithmetic
). Menjalankan aplikasi Docker juga membuat wadah untuk aplikasi Anda secara otomatis.
docker run arithmetic

Mengekspor Kontainer Docker
Sekarang setelah Anda memiliki aplikasi Docker dasar, saatnya membahas cara mengekspor wadah Docker. Membangun aplikasi besar membutuhkan waktu lama dan bisa menjadi hambatan jika Anda hanya ingin berbagi wadah dengan tim Anda. Jadi apakah ada cara yang lebih cepat untuk berbagi wadah? Ya!
Daripada membuat aplikasi langsung dari Dockerfile, ekspor container Docker.
1. Jalankan docker
perintah di bawah ini untuk mendaftar semua (ls --all
) containers
tersedia di mesin Anda. Perhatikan CONTAINER ID
penampung yang ingin Anda bagikan karena Anda memerlukannya untuk mengekspor penampung di langkah berikutnya.
Perhatikan bahwa Anda hanya dapat mengekspor wadah, bukan gambar.
docker container ls --all

2. Selanjutnya jalankan perintah di bawah ini untuk export
wadah Docker pilihan Anda (container-id
). Ganti container-id
dengan ID penampung yang Anda catat di langkah pertama.
Saat mengekspor, Anda menyimpan sistem file wadah di .tar arsip (arithmetic.tar
).
docker export container-id > arithmetic.tar
3. Terakhir, periksa folder proyek Anda di pengelola file Anda, dan Anda akan melihat bahwa .tar baru arsip telah dibuat (arithmetic.tar ). Karena Anda telah mengekspor penampung ke .tar arsip, sekarang Anda dapat membagikannya dengan siapa saja.
Mengimpor Kontainer Docker
Alih-alih mengekspor, mungkin Anda perlu mengimpor wadah Docker yang dibagikan oleh rekan satu tim dengan Anda. Jika demikian, docker import
perintah adalah apa yang Anda butuhkan. docker import
command mengambil sistem file yang diekspor dan mengubahnya menjadi sistem file gambar yang dapat Anda jalankan di mesin Anda.
1. Jalankan docker
berikut ini perintah untuk import
sebuah wadah (arithmetic.tar
) dan mengubahnya menjadi gambar. Saat mengimpor, Anda harus melampirkan tag (latest
) dan beri nama gambar (put_any_name_here
), seperti yang ditunjukkan di bawah ini.
docker import arithmetic.tar put_any_name_here:latest
2. Selanjutnya, jalankan perintah di bawah ini untuk membuat daftar semua gambar Docker yang ada, sehingga Anda dapat memverifikasi apakah ada gambar baru.
docker images
Di bawah, Anda dapat melihat bahwa gambar Docker baru ada.

3. Sekarang jalankan docker run
perintah di bawah ini untuk membuka shell (sh
) untuk gambar yang diimpor. Wadah berjalan secara interaktif dan dilampirkan ke terminal Anda (-i
dan -t
bendera).
docker run -i -t put_any_name_here:latest sh
Anda dapat mengetahuinya dengan prompt di bawah ini (/ #), Anda sekarang berada di cangkang gambar yang diimpor.

4. Terakhir, jalankan perintah di bawah ini untuk melihat apakah gambar berfungsi seperti yang diharapkan.
echo $(((20*5)/10))
Jika gambar berfungsi, Anda akan mendapatkan output 10 , seperti yang ditunjukkan di bawah ini.

Jika Anda mencoba menjalankan gambar secara langsung, Anda akan mendapatkan kesalahan, seperti yang ditunjukkan di bawah ini, karena gambar yang diimpor adalah gambar sistem file.

Menyimpan Gambar melalui Docker Simpan Gambar
Mungkin Anda ingin menyimpan gambar Docker daripada wadah. Jika demikian, pergi dengan docker save
perintah gambar sebagai gantinya. Berbeda dengan docker export
perintah, docker save
perintah memungkinkan menyimpan satu atau lebih gambar ke arsip tar secara langsung dan membaginya dengan siapa saja.
Perhatikan bahwa Anda hanya dapat menyimpan dan memuat gambar Docker, bukan container.
- Jalankan perintah di bawah ini untuk menyimpan gambar Docker (aritmatika) ke .tar pilihan Anda arsip (
arm_image.tar
). Sekarang Anda dapat membagikan .tar arsipkan dengan pengembang lain sehingga mereka dapat memuat gambar.
docker save arithmetic > arm_image.tar
2. Sekarang, jalankan perintah di bawah ini untuk membuat direktori dengan nama pilihan Anda (mkdir arm
). Tapi untuk demo ini, direktorinya bernama arm
. Perintah kemudian mengekstrak gambar dari .tar arsip (-xf arm_image.tar
) ke direktori baru (arm
).
Mengekstrak konten .tar arsip memungkinkan Anda mengonfirmasi apakah gambar yang Anda simpan di .tar arsip ada.
mkdir arm && tar -xf arm_image.tar -C arm
3. Terakhir, jalankan tree
perintah di bawah ini untuk melihat pohon direktori dari gambar yang Anda ekstrak di ~/arm
direktori. tree ~/arm
Di bawah ini Anda dapat melihat file dan subdirektori di dalam direktori tempat Anda mengekstrak gambar Docker.

Jika Anda berencana untuk membagikan gambar Docker Anda di hub Docker, opsi terbaik adalah menjalankan
docker save
memerintah. Mengapa? Dengandocker save command
, Anda pada dasarnya menyimpan gambar persis seperti yang seharusnya dijalankan. Juga, Anda hanya dapat memposting gambar di hub Docker, jadi pasti,docker export command
bukan pilihan yang baik.
Memuat Gambar Docker
Dengan asumsi Anda sudah menyimpan gambar untuk tujuan pencadangan atau berbagi, bagaimana Anda memuatnya ke mesin? Jangan khawatir, docker load
perintah dapat membantu. docker load
perintah memungkinkan Anda memuat gambar atau repositori ke mesin Anda, memulihkan gambar dan tag.
Untuk melihat lebih baik bagaimana docker load
perintah berfungsi, hapus semua gambar Docker yang Anda buat sebelumnya.
1. Jalankan perintah di bawah ini untuk menampilkan semua images
Docker di mesin Anda.
docker images
Di bawah ini, Anda dapat melihat bahwa ada dua gambar yang tersedia. Catat setiap ID GAMBAR gambar masing-masing karena Anda akan menghapus gambar-gambar itu di langkah berikutnya.

2. Jalankan perintah di bawah ini untuk menghapus (rm
) Gambar Docker dengan ID gambar yang Anda tentukan. Ganti imageID1
dan imageID2
dengan ID gambar yang Anda catat di langkah pertama.
docker image rm imageID1 imageID2
3. Sekarang, jalankan docker load
perintah di bawah ini untuk memuat gambar dari .tar arsip (arm_image.tar
).
docker load < arm_image.tar
4. Jalankan kembali docker images
perintah seperti yang Anda lakukan pada langkah pertama untuk membuat daftar semua gambar yang tersedia di mesin Anda. docker images
docker images
Di bawah, Anda dapat melihat gambar yang baru dimuat.

5. Terakhir, jalankan perintah di bawah ini untuk menjalankan dan menguji apakah gambar berfungsi.
docker run arithmetic
Perhatikan bahwa perintah mengembalikan nilai 10, yang menunjukkan bahwa gambar yang dimuat berfungsi.

Kesimpulan
Sepanjang tutorial ini, Anda telah belajar cara mengekspor dan mengimpor kontainer, serta memuat dan menyimpan gambar. Anda sekarang seharusnya memiliki pengetahuan dasar tentang mengubah Docker menyimpan gambar dan wadah menjadi bentuk yang dapat dibagikan, seperti file TAR.
Pada titik tertentu, Anda harus membagikan gambar atau wadah Docker Anda. Sekarang bagaimana Anda berencana untuk menggabungkan pengetahuan yang baru ditemukan ini saat bekerja dengan container dan image Docker, mungkin sebagai sistem cadangan?