Cara Menjana Imej Docker Daripada Bekas

Cara Menjana Imej Docker Daripada Bekas



Imej Docker ialah salah satu komponen utama platform Docker dan memainkan peranan penting dalam membina, menggunakan dan menghantar aplikasi Docker di dalam bekas. Imej Docker ialah templat atau syot kilat bekas yang mengarahkan bekas itu tentang cara mengosongkan dan menggunakan aplikasi. Beribu-ribu imej rasmi tersedia pada pendaftaran Docker Hub untuk menampung aplikasi. Walau bagaimanapun, pengguna juga boleh mencipta imej ini mengikut keperluan mereka menggunakan perkhidmatan karang Dockerfile dan Docker.

Kadangkala, pengguna membuat perubahan dalam tetapan bekas dan konfigurasi, tetapi perubahan ini tidak dilakukan dalam imej Docker. Untuk menyimpan perubahan bekas pada imej atau untuk membuat sandaran bekas, pengguna dikehendaki membina imej baharu daripada bekas. Untuk tujuan khusus itu, ' docker commit ” perintah boleh digunakan.

Panduan ini akan menunjukkan:







Apakah Perintah 'docker commit'?

' docker commit Perintah ” ialah salah satu utiliti baris arahan Docker yang digunakan untuk melakukan perubahan dan tetapan bekas ke dalam imej Docker. Ia juga digunakan untuk membuat sandaran kontena apabila pengguna dikehendaki untuk mengecilkan Docker dengan mengalih keluar bekas Docker. Walau bagaimanapun, arahan komit docker hanya memasukkan fail kontena dan perubahan konfigurasi dalam imej Docker, ia tidak akan sekali-kali menyimpan data volum yang dipasang dengan bekas.



Sintaks



docker commit < PILIHAN > < Nama bekas / ID kontena > < Nama-Imej >

Pilihan





Pilihan berikut digunakan dengan ' docker commit ” perintah untuk mencipta imej daripada bekas dengan cara yang berbeza:

< kuat > Pilihan kuat > td >
< td >< kuat > Penerangan kuat > td >
tr >
< tr >
< td >< kuat > -a, --pengarang kuat > td >
< td > Ia digunakan untuk menentukan nama pengarang yang melakukan perubahan bekas dalam gambar itu. td >
tr >
< tr >
< td >< kuat > -c, --ubah kuat > td >
< td > Tambahkan arahan Dockerfile untuk melakukan perubahan dalam sebuah imej. td >
tr >
< tr >
< td >< kuat > -m, --mesej kuat > td >
< td > Tambahkan mesej komit atau ulasan sementara menghasilkan imej daripada bekas. td >
tr >
< tr >
< td >< kuat > -p, --jeda kuat > td >
< td > Semasa melakukan kontena, secara lalai, kontena akan dihentikan atau dijeda. Untuk menghentikan bekas daripada berhenti seketika, “ < kuat > --jeda= salah kuat > ” pilihan digunakan.

Bagaimana untuk Menjana Imej Daripada Bekas Docker?

Apabila pengguna membuat perubahan dalam bekas Docker secara langsung melalui cangkerang bekas atau secara tidak interaktif, perubahan ini tidak mengubah suai petikan bekas. Untuk menyimpan atau melakukan pengubahsuaian, pengguna boleh menjana imej baharu daripada bekas menggunakan ' docker commit ” perintah. Ini juga berguna untuk membuat sandaran bekas.



Untuk mencipta imej melalui bekas Docker, ikuti ilustrasi berikut.

Langkah 1: Buat Dockerfile

Mula-mula, buat fail baharu bernama “ Dockerfile ” dan jangan tambah sebarang sambungan fail dengan nama fail. Selepas itu, tampal arahan berikut ke dalam 'Dockerfile'

DARI nginx:terkini

SALIN index.html / usr / kongsi / nginx / html / index.html

ENTRYPOINT [ 'nginx' , '-g' , 'daemon dimatikan;' ]

Di sini, ' DARI Perintah ' digunakan untuk menentukan imej asas kontena, ' SALINAN perintah ” menyalin fail program ke laluan yang ditentukan bekas, dan “ ENTRYPOINT perintah ” menetapkan boleh laku lalai bagi bekas.

Langkah 2: Buat Fail Program

Seterusnya, buat fail lain ' index.html ” dan tambahkan kod HTML berikut pada fail:

< html >

< kepala >

< gaya >

badan {

warna latar belakang: rgb ( 9 , 4 , 4 ) ;

}

h1 {

warna: rgb ( 221 , 219 , 226 ) ;

gaya fon: condong;

}

gaya >

kepala >

< badan >

< h1 > Ini adalah halaman HTML Pertama h1 >

badan >

html >

Langkah 3: Bina Syot Kilat Bekas

Sekarang, hasilkan syot kilat bekas dari Dockerfile menggunakan arahan di bawah. Di sini, ' -t ” pilihan digunakan untuk menetapkan nama syot kilat:

binaan buruh pelabuhan -t demo-img .

Langkah 4: Jalankan Syot Kilat untuk Memulakan Bekas

Seterusnya, mulakan bekas dengan melaksanakan imej bekas. Untuk tujuan ini, gunakan ' docker run ” perintah:

lari berlabuh -hlm 80 : 80 --nama demo-samb -d demo-img

Dalam arahan di atas, ' -hlm 'pilihan menetapkan port mendedahkan bekas, ' –nama ” menyatakan nama bekas dan “ -d ” pilihan menjalankan bekas dalam mod tertanggal:

Selepas melaksanakan bekas, navigasi ke ' http://localhost:80 ” URL dan semak sama ada program kontena boleh diakses pada port yang terdedah atau tidak:

Output di atas menunjukkan bahawa kami telah berjaya memulakan bekas.

Langkah 5: Cipta Fail Program Baharu

Kadangkala, pengguna mungkin dikehendaki menambah fungsi tambahan pada aplikasi yang sedang berjalan. Untuk tujuan ini, pengguna mungkin perlu membuat perubahan dalam fail program atau boleh menambah fail tambahan pada aplikasi.

Untuk tujuan ini, mari buat fail lain bernama ' index1.html ” dan tampal kod berikut ke dalam fail:

< html >

< kepala >

< gaya >

badan {

warna latar belakang: rgb ( 106 , 103 , 103 ) ;

}

h1 {

warna: rgb ( 221 , 219 , 226 ) ;

gaya fon: condong;

}

gaya >

kepala >

< badan >

< h1 > Ini adalah halaman HTML Kedua h1 >

badan >

html >

Langkah 6: Salin Fail Program Baharu dalam Bekas

Untuk menyalin fail baharu ke laluan kontena, gunakan “ docker cp : ” perintah. Di sini, kami telah menyalin ' index1.html ” fail ke “ demo-samb ” laluan yang ditentukan kontena:

pekerja pelabuhan cp index1.html demo-cont: / usr / kongsi / nginx / html / index1.html

Langkah 7: Lakukan Perubahan Bekas dalam Imej Baharu

Selepas membuat perubahan dalam bekas, pengguna dikehendaki melakukan perubahan pada imej Docker baharu. Imej ini akan dijana melalui bekas Docker. Untuk tujuan ini, jalankan ' docker commit ” perintah:

docker commit demo-cont new-demo-img

Catatan: Membuat perubahan dalam bekas Docker sebelum menjana imej melalui “ docker commit ” perintah tidak wajib. Pengguna boleh terus menggunakan 'docker commit' untuk menjana sandaran bekas dengan mencipta imej.

Langkah 8: Pengesahan

Untuk menyemak sama ada imej dibuat atau tidak melalui bekas, senaraikan imej Docker dengan menggunakan ' imej buruh pelabuhan ” perintah:

imej buruh pelabuhan

Output di bawah menunjukkan bahawa kami telah berjaya menghasilkan ' new-demo-img ” daripada “ demo-samb ” bekas:

Catatan: Untuk menolak imej Docker ke pendaftaran hub Docker, pengguna juga boleh menandakan imej menggunakan ' tag buruh pelabuhan ” perintah:

tag buruh pelabuhan < nama imej > < nama repositori >>< nama imej > : < tag / versi >

Langkah 9: Keluarkan Bekas Lama

Sekarang, keluarkan bekas yang lebih lama. Untuk tujuan ini, pertama, hentikan bekas Docker menggunakan ' docker stop ” perintah:

docker stop demo-cont

Selepas menghentikan bekas, gunakan ' docker rm ” perintah untuk mengeluarkannya dari Docker:

pekerja pelabuhan rm demo-samb

Langkah 10: Jalankan Bekas Baharu Daripada Imej Komited Baharu

Sekarang, mulakan contoh baharu atau bekas Docker menggunakan imej yang baru dijana melalui “ lari berlabuh ” perintah:

lari berlabuh -hlm 80 : 80 --nama demo-samb -d new-demo-img

Sekarang, navigasi ke ' localhost:80 ” dan semak sama ada aplikasi HTML berjalan dengan berkesan atau tidak:

Untuk menyemak fail yang baru disalin iaitu “ index1.html ”, gunakan “ http://localhost/index1.html ” URL:

Output di atas menunjukkan bahawa perubahan yang dilakukan telah berjaya disimpan dalam ' new-demo-img ” Imej Docker dan kami telah menjalankan bekas yang diubah suai dengan berkesan.

Bagaimana untuk Menetapkan Pengarang Imej?

' docker commit Perintah ” juga menyokong pilihan yang berbeza untuk menambah maklumat tambahan bersama-sama dengan perubahan komited seperti pengarang perubahan baharu, mesej komit dan sebagainya.

Untuk menentukan pengarang imej yang melakukan perubahan baharu, ikuti langkah yang diberikan.

Langkah 1: Tetapkan Pengarang Imej

Untuk menentukan pengarang imej yang membuat perubahan, gunakan ' -a ” atau “ –pengarang 'pilihan bersama-sama dengan' docker commit ” perintah:

docker commit -a rafia demo-cont new-demo-img

Langkah 2: Periksa Imej

Untuk mengesahkan sama ada pengarang imej ditetapkan atau tidak, periksa imej yang baru dijana menggunakan ' docker inspect ” perintah:

docker memeriksa new-demo-img

Output menunjukkan bahawa kami telah menetapkan pengarang imej dengan berkesan:

Bagaimana untuk Menetapkan Mesej Komit Imej?

Untuk menetapkan mesej komit bersama dengan perubahan komit, gunakan ' -m ” pilihan. Untuk ilustrasi, ikut arahan di bawah.

Langkah 1: Tetapkan Mesej Komit Imej

Untuk menetapkan mesej bersama dengan perubahan yang komited, gunakan ' docker commit -m <“message”> ” perintah:

docker commit -a rafia -m 'Imej ini dijana oleh bekas' demo-cont new-demo-img

Langkah 2: Periksa Imej

Untuk menyemak mesej komit, periksa imej melalui ' docker inspect ” perintah:

docker memeriksa new-demo-img

Di bawah ' Komen ”, pengguna boleh melihat mesej komit seperti yang ditunjukkan di bawah:

Itu semua tentang menjana imej Docker daripada bekas.

Kesimpulan

Untuk menjana imej Docker daripada bekas, mula-mula buat perubahan dalam bekas Docker. Selepas itu, gunakan ' docker commit ” perintah untuk menjana imej daripada bekas. Sekarang, alih keluar bekas yang lebih lama dan mulakan contoh baharu melalui imej yang baru dijana. Pengguna juga boleh menetapkan nama pengarang imej menggunakan ' -a pilihan ' dan komit mesej menggunakan ' -m ” pilihan. Blog ini telah menggambarkan cara menjana imej daripada bekas Docker.