Bazen kullanıcılar kapsayıcı ve yapılandırma ayarlarında değişiklik yapar ancak bu değişiklikler Docker görüntüsüne kaydedilmez. Konteyner değişikliklerini imaja kaydetmek veya konteyner yedeğini oluşturmak için kullanıcıların konteynerden yeni bir imaj oluşturması gerekir. Bu özel amaç için, “ liman işçisi taahhüdü ” komutu kullanılabilir.
Bu kılavuz şunları gösterecektir:
- “Docker commit” Komutu nedir?
- Docker Container'dan Görüntü Nasıl Oluşturulur?
- Bir Resmin Yazarı Nasıl Ayarlanır?
- İmajın Commit Mesajı Nasıl Ayarlanır?
- Çözüm
“Docker commit” Komutu nedir?
“ liman işçisi taahhüdü ” komutu, konteyner değişikliklerini ve ayarlarını Docker görüntüsüne işlemek için kullanılan Docker'ın komut satırı yardımcı programlarından biridir. Ayrıca, kullanıcıların Docker konteynerlerini kaldırarak Docker'ı düzenlemeleri gerektiğinde konteyner yedeğini oluşturmak için de kullanılır. Ancak docker commit komutu yalnızca Docker görüntüsündeki konteyner dosyasını ve konfigürasyon değişikliklerini içerir, konteynere bağlanan birimin verilerini hiçbir zaman kaydetmez.
Sözdizimi
liman işçisi taahhüdü < SEÇENEKLER > < Konteyner adı / Konteyner Kimliği > < Resim Adı >
Seçenekler
Aşağıdaki seçenekler “ ile birlikte kullanılır. liman işçisi taahhüdü ” komutu, bir kaptan farklı şekillerde bir görüntü oluşturma komutu:
< güçlü > Seçenek güçlü > td >< td >< güçlü > Tanım güçlü > td >
TR >
< TR >
< td >< güçlü > -A, --yazar güçlü > td >
< td > Kabın değişikliklerini gerçekleştiren yazarın adını belirtmek için kullanılır içinde görüntü. td >
TR >
< TR >
< td >< güçlü > -C, --değiştirmek güçlü > td >
< td > Değişiklikleri uygulamak için Dockerfile talimatlarını ekleyin içinde bir şekil. td >
TR >
< TR >
< td >< güçlü > -m, --mesaj güçlü > td >
< td > Taahhüt mesajını veya yorumunu ekleyin sırasında kapsayıcıdan bir görüntü oluşturma. td >
TR >
< TR >
< td >< güçlü > -p, --pause güçlü > td >
< td > Konteyneri taahhüt ederken varsayılan olarak konteyner durdurulacak veya duraklatılacaktır. Kapsayıcının duraklamasını durdurmak için “ < güçlü > --pause= YANLIŞ güçlü > ” seçeneği kullanılmaktadır.
Docker Container'dan Görüntü Nasıl Oluşturulur?
Kullanıcı Docker konteynerinde doğrudan konteyner kabuğu aracılığıyla veya etkileşimli olmayan bir şekilde değişiklik yaptığında, bu değişiklikler konteyner anlık görüntüsünü değiştirmez. Değişiklikleri kaydetmek veya işlemek için kullanıcı, “ liman işçisi taahhüdü ' emretmek. Bu aynı zamanda konteynerin yedeğini oluşturmak için de faydalıdır.
Docker kapsayıcısı aracılığıyla görüntü oluşturmak için aşağıdaki çizimi inceleyin.
Adım 1: Dockerfile'ı oluşturun
Öncelikle “adlı yeni bir dosya oluşturun. Docker dosyası ” ve dosya adını taşıyan herhangi bir dosya uzantısı eklemeyin. Daha sonra aşağıdaki komutları “Dockerfile” içerisine yapıştırın.
Nginx'ten:en sonindex.html'yi KOPYALA / usr / paylaşmak / Nginx / HTML / indeks.html
GİRİŞ NOKTASI [ 'nginx' , '-G' , 'cin kapalı;' ]
Burada, “ İTİBAREN ” komutu konteyner taban görüntüsünü tanımlamak için kullanılır, “ KOPYALA ” komutu, program dosyasını konteynerin belirtilen yoluna kopyalar ve “ GİRİŞ NOKTASI ” komutu, kabın varsayılan yürütülebilir dosyalarını ayarlar.
Adım 2: Program Dosyasını Oluşturun
Sonra başka bir dosya oluşturun “ indeks.html ”ve aşağıdaki HTML kodunu dosyaya ekleyin:
< HTML >< KAFA >
< stil >
vücut {
arka plan rengi:rgb ( 9 , 4 , 4 ) ;
}
h1 {
renk:rgb ( 221 , 219 , 226 ) ;
yazı tipi stili: italik;
}
stil >
KAFA >
< vücut >
< h1 > Bu İlk HTML sayfasıdır h1 >
vücut >
HTML >
3. Adım: Container'ın Anlık Görüntüsünü Oluşturun
Şimdi aşağıdaki komutu kullanarak Dockerfile’dan konteynerin anlık görüntüsünü oluşturun. Burada, “ -T Anlık görüntünün adını ayarlamak için ” seçeneği kullanılır:
Liman işçisi yapısı -T demo-img .
4. Adım: Kapsayıcıyı Başlatmak için Anlık Görüntüyü Çalıştırın
Daha sonra konteyner görüntüsünü çalıştırarak konteyneri başlatın. Bu amaçla “ liman işçisi çalıştırması
Yukarıdaki komutta “ -P ” seçeneği konteynerin açığa çıkan portunu ayarlar, “ -isim ” kapsayıcı adını ve “ -D ” seçeneği, kabı müstakil modda çalıştırır:
Konteyneri çalıştırdıktan sonra “ http://localhost:80 ” URL'sini açın ve kapsayıcıya alınmış programın açık bağlantı noktasında erişilebilir olup olmadığını kontrol edin:
Yukarıdaki çıktı konteyneri başarıyla başlattığımızı gösteriyor.
Adım 5: Yeni Bir Program Dosyası Oluşturun
Bazen kullanıcıların çalışan uygulamaya ek işlevler eklemesi gerekebilir. Bu amaçla kullanıcının program dosyasında değişiklik yapması gerekebilir veya uygulamaya ek dosyalar ekleyebilir.
Bu amaçla “adlı bir dosya daha oluşturalım. indeks1.html ”ve aşağıdaki kodu dosyaya yapıştırın:
< HTML >< KAFA >
< stil >
vücut {
arka plan rengi:rgb ( 106 , 103 , 103 ) ;
}
h1 {
renk:rgb ( 221 , 219 , 226 ) ;
yazı tipi stili: italik;
}
stil >
KAFA >
< vücut >
< h1 > Bu İkinci HTML sayfasıdır h1 >
vücut >
HTML >
Adım 6: Yeni Program Dosyasını Kapsayıcıya Kopyalayın
Yeni dosyayı konteyner yoluna kopyalamak için “ docker cp
Adım 7: Kapsayıcı Değişikliklerini Yeni Görüntüde Gerçekleştirin
Bir kapsayıcıda değişiklik yaptıktan sonra kullanıcıların değişiklikleri yeni bir Docker görüntüsüne kaydetmeleri gerekir. Bu görüntü bir Docker kapsayıcısı aracılığıyla oluşturulacaktır. Bu amaçla “ docker commit
Not: Görüntüyü oluşturmadan önce Docker kapsayıcısında değişiklik yapmak “ liman işçisi taahhüdü ” komutu zorunlu değildir. Kullanıcılar, görüntüyü oluşturarak konteynerin yedeğini oluşturmak için doğrudan 'docker commit'i kullanabilirler.
Adım 8: Onay
Görüntünün konteyner aracılığıyla oluşturulup oluşturulmadığını kontrol etmek için Docker görüntülerini “ liman işçisi görselleri ' emretmek:
liman işçisi görselleriAşağıdaki çıktı başarıyla oluşturduğumuzu gösteriyor: yeni demo-img ' itibaren ' demo-devam ” konteyner:
Not: Docker görüntüsünü Docker hub kayıt defterine göndermek için kullanıcı görüntüyü ' liman işçisi etiketi ' emretmek:
liman işçisi etiketi < resim adı > < depo adı >>< resim adı > : < etiket / versiyon >Adım 9: Eski Kabı Çıkarın
Şimdi eski kabı çıkarın. Bunun için öncelikle Docker konteynerini “” komutunu kullanarak durdurun. liman işçisi durağı
Kabı durdurduktan sonra “ docker rm
Adım 10: Yeni Kaydedilen Görüntüden Yeni Kapsayıcı Çalıştırın
Şimdi yeni oluşturulan görüntüyü kullanarak yeni örneği veya Docker kapsayıcısını ' liman işçisi koşusu ' emretmek:
liman işçisi koşusu -P 80 : 80 --isim demo-devam -D yeni demo-img
Şimdi şuraya gidin: “ yerel ana bilgisayar:80 ” bağlantı noktasını açın ve HTML uygulamasının etkili bir şekilde çalışıp çalışmadığını kontrol edin:
Yeni kopyalanan dosyayı kontrol etmek için “ indeks1.html ”,“ http://localhost/index1.html ” URL'si:
Yukarıdaki çıktı, taahhüt edilen değişikliklerin başarıyla ' yeni demo-img ” Docker imajını oluşturduk ve değiştirilen konteyneri etkin bir şekilde çalıştırdık.
Bir Resmin Yazarı Nasıl Ayarlanır?
“ liman işçisi taahhüdü ” komutu ayrıca yeni değişikliklerin yazarı, taahhüt mesajı vb. gibi taahhüt edilen değişikliklerin yanı sıra ek bilgiler eklemek için farklı seçenekleri de destekler.
Yeni değişiklikleri gerçekleştiren görüntünün yazarını belirlemek için verilen adımları izleyin.
1. Adım: Resmin Yazarını Ayarlayın
Değişiklikleri yapan görselin yazarını belirtmek için ' -A ' veya ' -yazar ” seçeneği ile birlikte “ liman işçisi taahhüdü ' emretmek:
liman işçisi taahhüdü -A rafia demo-devam yeni-demo-img
2. Adım: Görüntüyü İnceleyin
Görüntünün yazarının ayarlanıp ayarlanmadığını doğrulamak için yeni oluşturulan görüntüyü “ liman işçisi
Çıktı, görüntünün yazarını etkili bir şekilde ayarladığımızı gösteriyor:
Görüntünün Teslim Mesajı Nasıl Ayarlanır?
Taahhüt mesajını taahhüt değişiklikleriyle birlikte ayarlamak için “ -M ' seçenek. Örnek olarak aşağıdaki talimatları izleyin.
Adım 1: Görüntünün Teslim Mesajını Ayarlayın
Mesajı taahhüt edilen değişikliklerle birlikte ayarlamak için “ docker commit -m <“mesaj”>
2. Adım: Görüntüyü İnceleyin
Taahhüt mesajını kontrol etmek için görüntüyü “ liman işçisi
Altında ' Yorum ” tuşuna bastığınızda, kullanıcı taahhüt mesajını aşağıda gösterildiği gibi görebilir:
Bu tamamen bir konteynerden Docker görüntüsü oluşturmakla ilgilidir.
Çözüm
Bir kapsayıcıdan Docker görüntüsü oluşturmak için öncelikle değişiklikleri Docker kapsayıcısında yapın. Bundan sonra “ docker commit