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'?
- Bagaimana untuk Menjana Imej Daripada Bekas Docker?
- Bagaimana untuk Menetapkan Pengarang Imej?
- Bagaimana untuk Menetapkan Mesej Komit Imej?
- Kesimpulan
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:terkiniSALIN 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
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
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
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 pelabuhanOutput 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
Selepas menghentikan bekas, gunakan ' docker rm
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
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”>
Langkah 2: Periksa Imej
Untuk menyemak mesej komit, periksa imej melalui ' docker inspect
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