spot_img
Saturday, September 28, 2024
spot_img
HomeTechBilgi TeknolojisiÇalışan Bir Kapsayıcıdan Docker Görüntüsü Nasıl Oluşturulur BatchPatch ile WSUS Güncellemeleri Nasıl...

Çalışan Bir Kapsayıcıdan Docker Görüntüsü Nasıl Oluşturulur BatchPatch ile WSUS Güncellemeleri Nasıl Yönetilir Grafana Nedir ve Ne Zaman Kullanmalısınız? Docker Dosyalarınızı Lint Etmek İçin Hadolint Nasıl Kullanılır Docker Kullanılmaması Gerektiğinde: Konteynerlerin Etki Alanlarını El Sıkışmalarına Yardımcı Olmadığı Durumlar: Blockchain Destekli DNS Burada, Ama Kullanmalı mısınız? Github Kuruluşunda Üyeler için İzinler Nasıl Yönetilir

-

Docker kapsayıcıları genellikle dahili durumu olmayan geçici uygulama örnekleridir. Bu, kapsayıcılarınızı istediğiniz zaman durdurmanıza veya yeniden başlatmanıza olanak tanıyan en iyi uygulama yöntemidir.

Bazen bir kapsayıcının dosya sisteminde değişiklikler yapılması kaçınılmazdır. Belki de yazılımı deniyorsunuz ve daha sonra geri dönmek için bir anlık görüntü istiyorsunuz. Başka bir kullanım durumu, bir kapsayıcının içindeki yazılımın çalışmayı durdurduğu ve gelecekte hatalarını ayıklayabileceğiniz bir kopyayı kaydetmek istediğiniz durumlar olabilir.

Mevcut bir kapsayıcıdan yeni bir Docker görüntüsünün nasıl oluşturulacağı aşağıda açıklanmıştır. sonra başlayabileceksiniz bir diğeri ilkinden dosya sistemi ile doldurulacak olan bu görüntüden kapsayıcı.

Taahhüt Konteynerleri

bu docker commit Komut, bir kapsayıcı almak ve ondan yeni bir görüntü oluşturmak için kullanılır. Durmuş veya çalışan kapsayıcılarla çalışır.

Temel sözdizimi aşağıdaki gibidir:

docker commit example-container example-image:latest

Bu, adlı kapsayıcıdan bir görüntü oluşturur. example-container. İsterseniz kabı kimliğine göre de tanımlayabilirsiniz. Her iki bilgi de çıktıdan elde edilebilir. docker ps bu, ana makinenizdeki tüm kapsayıcıları listeler.

Reklamcılık

Ortaya çıkan görüntüye komutun ikinci parametresi olarak verilen etiket atanır. Bu example-image:latest yukarıda gösterilen örnekte. Normal bir resim etiketleme işlemi gibi, yeni resim zaten varsa etiketin referansının yerini alacaktır.

Artık dosya sistemini geri yüklemek için resminizi kullanabilirsiniz. example-container yeni bir kapsayıcı örneğine:

docker run -d example-image:latest

Dosya sistemi içeriği, example-container o sırada konteyner docker commit Komut yürütüldü Önemli bir uyarı var: monte edilen birimlerin içeriği dahil edilmeyecek, bu nedenle oluşturulan kapsayıcı görüntüsünde montaj konumları boş olacak. Hacim verileri bozulmamış yeni bir kapsayıcı çalıştırmak için -v ile ikinci örneği başlattığınızda, birimleri ilk kapsayıcıdan yeniden eklemek için bayrak docker run.

Dikkate değer bir başka yapışma noktası, Docker’ın çalışan konteyner taahhütlerini nasıl ele aldığıdır. Çoğunlukla, bu sorunsuz çalışmalıdır, ancak varsayılan olarak, taahhüt oluşturulmadan önce hedef kapsayıcıyı duraklatmak için kullanılır. Kapsayıcı içindeki tüm işlemler askıya alınacak ve görüntü oluşturma tamamlandıktan sonra devam ettirilecektir. Bu, yeni görüntüdeki veri tutarlılığını iyileştirir ancak kapsayıcıyı anlık olarak erişilemez hale getirir. Dahil ederek bu davranışı devre dışı bırakabilirsiniz. --pause false seninki ile docker commit emretmek.

Taahhüt Mesajları Ekleme

bu docker commit komutu, Git gibi sürüm kontrol yazılımlarına benzer şekilde taahhüt mesajlarını destekler. Bir kapsayıcıdan görüntü oluşturduğunuzda bir mesaj eklemek, neyin değiştiğini ve taahhüdünüzün arkasındaki nedeni belgelemenize olanak tanır.

Kullan --message veya -m bir taahhüt mesajı uygulamak için bayrak:

docker commit -m "Example commit" example-container example-image:latest
Reklamcılık

Özel bir bayrakla yazarlık bilgilerini de ekleyebilirsiniz. Ortak bir dize sağlayın First Name <email@example.com> biçimlendirmek --author veya -a bayrak. Taahhüt mesajının yanında kaydedilecektir.

docker commit -a "Example Author <example@example.com>" -m "Example commit" example-container example-image:latest

Kullandığınızda taahhüt mesajları görüntülenir. docker history bir görüntüdeki katmanları görüntüleme komutu. içinde görünecekler COMMENT en sağdaki sütun.

Bu bilgilere erişmenin başka bir yolu da kullanmaktır. docker inspect ile paralel olarak grep bir görüntünün JSON temsilinden yazarlık ve yorum değerlerini çıkarmak için:

docker inspect <image-id> | grep 'Created|Author|Comment'

Bu, görüntüdeki en üst katmanla ilişkili verileri gösterecektir.

Dockerfile Talimatlarını Değiştirme

Bir görüntüyü işlemek, size Dockerfile talimatlarının bazılarını değiştirme şansı verir. Yeni görüntünüzde aşağıdaki değerleri geçersiz kılabilirsiniz:

  • CMD
  • ENTRYPOINT
  • ENV
  • EXPOSE
  • LABEL
  • ONBUILD
  • USER
  • VOLUME
  • WORKDIR

Bir talimat ayarlamak için, --change veya -c bayrak:

docker commit --change 'ENTRYPOINT ["sh"]' example-container example-image:latest
Reklamcılık

İstediğiniz tüm değişiklikleri uygulamak için bayrağı gerektiği kadar tekrarlayabilirsiniz.

Yalnızca en üstteki dosya sistemi katmanını etkileyen talimatlar desteklenir. Aşağıdaki gibi talimatlar aracılığıyla taahhüt edilen bir görüntüyü yeni katmanlarla sorunsuz bir şekilde genişletemezsiniz. RUN ve COPY. Ancak, bir taahhüdün sonucunu alabilir ve gerekirse yeni içerik ekleyen yeni bir Dockerfile yazabilirsiniz:

# Created via `docker commit`
FROM example-image:latest
RUN apt install example-package

Dockerfile talimatlarını taahhüt zamanında değiştirirseniz, neyi ve neden değiştirdiğinizi açıklayan bir taahhüt mesajı eklemeye değer. Bu, görüntüye erişimi olan herkesin, görüntünün oluşturulduğu kapsayıcıya kıyasla herhangi bir davranış farkını anlamasına yardımcı olacaktır.

Özet

Docker görüntüleri genellikle Dockerfiles’den oluşturulur ve tek kullanımlık kapsayıcıları başlatmak için kullanılır. Bir kapsayıcının dosya sisteminin durumundaki değişiklikler, görüntüyü yeniden oluşturarak, mevcut kapsayıcıyı yok ederek ve yeni bir kapsayıcı başlatarak yapılır. İdeal bir dünyada, kapsayıcıların herhangi bir dahili durumu yoktur, ancak bu pratikte her zaman doğru değildir.

Bir kapsayıcıyı taahhüt etmek, gelecekte mevcut dosya sistemini geri yüklemenin bir yolunu sunar. Taahhütler, daha önce oluşturulmuş günlüklere ve geçici dosyalara erişimi korurken ayrı bir ortamda hata ayıklayabilmeniz için zahmetli kapsayıcıların kopyalarını oluşturmak için kullanışlıdır.

Kapsayıcı taahhütleri genellikle VM anlık görüntülerine benzer görünse de, bunlar tamamen aynı şey değildir. VM’ler sanal donanımı kontrol eder ve bu donanımın durumu anlık görüntüde bulunur. Docker kapsayıcıları, yalnızca ana bilgisayarda çalışan bir dizi işlemdir; taahhüt, kapsayıcıyı temsil eden yeni bir Docker görüntüsüdür. dosya sistemi ancak süreçlerin durumu, çekirdek ve donanımınız hakkında mutlaka herhangi bir veriden yoksundur.

Related articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Stay Connected

0FansLike
0FollowersFollow
0FollowersFollow
0SubscribersSubscribe
Saçınızda Kahve Kullanmanın Faydaları Nelerdir?

Latest posts