GNU/Linux >> Belajar Linux >  >> Panels >> Docker

Cara Berbagi Gambar Docker Dengan Orang Lain

Membuat image Docker yang perlu Anda bagikan dengan rekan kerja? Inilah cara Anda dapat mendistribusikan gambar tanpa penerima perlu menjalankan docker build sendiri.

Berbagi gambar yang dibuat sebelumnya alih-alih Dockerfile memungkinkan Anda memastikan rekan Anda menjalankan perangkat lunak yang sama persis. Menjalankan kembali build dapat menghasilkan lingkungan yang agak berbeda. Anda memiliki dua opsi untuk mendistribusikan gambar Anda, bergantung pada situasinya.

Gunakan Registri Docker

Cara termudah untuk membagikan gambar Docker adalah dengan mendorongnya ke registri Docker. Fungsionalitas ini sepenuhnya terintegrasi ke dalam Docker CLI. Anda tidak perlu melakukan transfer file manual saat menggunakan metode ini.

Registri default adalah Docker Hub. Ini memungkinkan Anda untuk berbagi gambar secara publik dan memberi Anda satu repositori pribadi juga. Buat akun di Docker Hub, lalu jalankan docker login di terminal Anda. Berikan detail akun Anda untuk menghubungkan Docker CLI ke akun Anda.

Selanjutnya buat gambar Anda seperti biasa, menggunakan docker build . Tambahkan tag yang dimulai dengan nama pengguna Docker Hub Anda:

docker build -t my-account/my-image:latest .

Kemudian gunakan docker push perintah untuk mendorong gambar yang diberi tag ke Docker Hub:

docker push my-account/my-image:latest

Sekarang gambar Anda disimpan dengan aman di Docker Hub. Pengguna lain akan dapat menariknya ke bawah menggunakan docker pull atau docker run perintah. Anda selesai membagikan gambar Anda!

Untuk penggunaan di dunia nyata, Docker Hub mungkin tidak cukup. Jika Anda adalah bagian dari tim pengembangan, Anda mungkin ingin menyimpan gambar di server Anda sendiri, bukan di registri Hub publik. Anda dapat membuat server registri yang dihosting sendiri sebagai gantinya untuk mendapatkan penyimpanan pribadi yang sepenuhnya kompatibel dengan docker push dan docker pull perintah. Ini memungkinkan Anda berbagi gambar dengan mudah dengan siapa saja yang dapat mengakses registri pribadi Anda.

Mengekspor Gambar

Jika menggunakan registri bukan merupakan opsi, Anda dapat mengekspor arsip gambar Docker secara manual. Fungsionalitas ini juga dibangun ke dalam Docker CLI. Buat gambar Anda lalu gunakan docker save perintah untuk mendapatkan tar arsip isinya:

docker save my-image:latest > my-image.tar

Ekspor mungkin memerlukan beberapa saat untuk diselesaikan. Docker akan menyertakan semua yang diperlukan untuk membuat ulang gambar – hanya itu lapisan di Dockerfile Anda , serta lapisan yang diwarisi dari gambar dasar Anda. Arsip juga akan berisi informasi tentang tag yang terkait dengan gambar.

Karena outputnya adalah tar simple sederhana file, Anda sekarang bebas mendistribusikannya dengan cara apa pun yang Anda pilih. Arsip bisa sangat besar sehingga Anda biasanya akan lebih baik dengan mengunggahnya ke server file atau penyedia penyimpanan cloud.

Untuk menggunakan gambar yang diekspor, jalankan docker load memerintah. Ini menerima tar arsip yang dihasilkan oleh docker save sebagai aliran masukan. Docker akan memuat konten arsip dan menambahkannya ke daftar gambar lokal Anda.

docker load < my-image.tar

Sekarang Anda akan melihat gambar yang baru diimpor di docker images keluaran. Anda siap untuk memulai container baru dengan docker run .

Mengekspor dan mengimpor gambar menambahkan beberapa langkah tambahan untuk menggunakan registri Docker. Anda harus mentransfer file secara manual antar klien. Akibatnya, pendekatan ini kurang cocok untuk penggunaan yang sering, meskipun ada manfaatnya juga.

Mengonversi gambar menjadi tar arsip dapat berguna untuk penyimpanan jangka panjang. Jika Anda kehabisan ruang di server registri Anda, mengarsipkan gambar lama dan mengunggah tars mereka untuk membuat cadangan penyimpanan file bisa menjadi cara yang hemat biaya untuk mendapatkan kembali beberapa kapasitas. Anda masih dapat memulihkan gambar tersebut jika diperlukan di masa mendatang.

Bagaimana dengan “ekspor buruh pelabuhan”?

Docker memiliki perintah terkait ekspor lainnya, docker export . Ini tidak boleh disamakan dengan docker save . Sedangkan save bekerja dengan gambar, export sebenarnya mengelola kontainer individu .

docker export akan menghasilkan tar arsip sistem file container. Ini dapat digunakan untuk memulihkan replika wadah di komputer lain. Jika Anda memeriksa konten arsip, Anda akan melihat itu hanya sistem file root Linux biasa, dengan direktori seperti /bin , /etc dan /usr .

docker export my-container > my-container.tar

docker export berguna jika Anda ingin memotret wadah untuk pemulihan nanti. Namun, arsip penampung tidak diimpor dengan cara yang mungkin Anda harapkan pertama kali. Karena container mewakili lingkungan yang aktif dan berjalan, Anda tidak dapat "mengimpor" satu secara langsung. Sebagai gantinya, mengimpor arsip penampung akan membuat baru gambar.

docker import my-container.tar my-image:latest

Dalam contoh ini, Docker akan mengambil sistem file di my-container.tar dan secara otomatis membuat gambar baru bernama my-image:latest . Ini akan memiliki sistem file yang sama tetapi gambar dasar atau konfigurasi Docker tidak sama dengan penampung asli yang Anda ekspor.

TERKAIT: Cara Memulai dengan Docker Container Registry Github yang Baru

Ringkasan

Docker memudahkan berbagi gambar aplikasi dan lingkungan pengembangan dengan kolaborator Anda. Biasanya yang terbaik adalah mendorong gambar ke repositori terpusat yang dapat diambil orang lain. Dalam beberapa skenario, mungkin lebih masuk akal untuk mengekspor gambar ke arsip yang Anda distribusikan secara manual.

Docker juga memungkinkan Anda mengekspor sistem file penampung untuk pemulihan nanti ke gambar. Hati-hati saat menggunakan ini karena ini bukan rekonstruksi yang tepat dan tidak semua data sistem file disertakan. Setiap volume yang dipasang ke penampung asli tidak akan disertakan dalam arsip sistem file, jadi Anda harus mengambil langkah-langkah untuk mencadangkannya secara terpisah.


Docker
  1. Cara Memindahkan Gambar Docker antar Host

  2. Cara Menginstal Jenkins dengan Docker

  3. Cara melakukan perubahan pada gambar Docker

  1. Cara Memodifikasi Gambar Docker

  2. Cara Membuat dan Mengonfigurasi Gambar Docker Kustom secara Otomatis dengan Dockerfile – Bagian 3

  3. Bagaimana cara menggunakan gambar buruh pelabuhan lokal dengan Minikube?

  1. Cara Melakukan Perubahan pada Gambar Docker dengan Contoh

  2. Cara Membuat Gambar Docker dengan Dockerfile

  3. Cara Melakukan Deployment Canary dengan Istio