SORU
28 Aralık 2013, CUMARTESİ


Keşfetmek Docker konteyner'un dosya sistemi

Bir kabın içinde ne olduğunu anlamaya ihtiyacım olan ya da dosyalarda var ne docker ile fark ettim. Bir örnek docker dizinden imgeleri - görüntü imkansız uygulamayı başlatmak için içerir ne bir ipucu yok.

Harika bir ses onları içine ssh veya eşdeğer edebilmek için. Orada bunu yapmak için bir araçtır, ya da docker benim şeklinde tefsir edilmesi bunu yapmak mümkün olması gerektiğini düşünmek yanlış.

CEVAP
28 Aralık 2013, CUMARTESİ


Yöntem 1: snapshoting

Konteyner dosya sistemi bu şekilde değerlendirebilirsiniz:

# find ID of your running container:
docker ps

# create image (snapshot) from container filesystem
docker commit 12345678904b5 mysnapshot

# explore this filesystem using bash (for example)
docker run -t -i mysnapshot /bin/bash

Bu şekilde, hassas zaman şu an çalışan konteyner dosya sistemi değerlendirebilir. Konteyner hala çalışıyor, hiçbir gelecek değişiklikler dahil edilmiştir.

Daha sonra anlık görüntü kullanarak (çalışan konteyner dosya etkilenmez!) silebilirsiniz:

docker rmi mysnapshot

Yöntem 2: ssh

Eğer sürekli erişim gerekiyorsa, konteyner yükleme SSH ve SSH daemon çalıştırabilirsiniz:

 docker run -d -p 22 mysnapshot /usr/sbin/sshd -D

 # you need to find out which port to connect:
 docker ps

Bu sayede uygulamayı kullanarak ssh (istediğinizi bağlayın ve yürütme) çalıştırabilirsiniz.

GÜNCELLEME - Yöntem 3: nsenter

Kullanmak 7**, http://blog.docker.com/2014/06/why-you-dont-need-to-run-sshd-in-docker/ bkz

Kısa sürümü: nsenter ile, bir içine bir kabuk alabilirsiniz eğer konteyner çalışmıyor bile mevcut konteyner veya herhangi bir SSH özel amaçlı daemon

GÜNCELLEME - Yöntem 4: docker exec

nsenter benzer davranan Docker 1.3 (son, docker apt repo Kasım 2014 itibariyle son versiyonu yüklemek için kullanmanız gerekebilir) yeni komut destekler exec. Bu komut zaten konteyner (kapsayıcı PID 1 süreç zaten çalışıyor olmalıdır) çalışan yeni süreç çalışabilir. /bin/bash konteyner devlet keşfetmek için:

docker exec -t -i mycontainer /bin/bash

Docker command line documentation bkz

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jeb Corliss

    Jeb Corliss

    17 Kasım 2006
  • PlayStation

    PlayStation

    16 Aralık 2005
  • thegeniuses.tv

    thegeniuses.

    11 Aralık 2006