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
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
Android dosya sistemi salt okunur...
Birden fazla dosya uzantıları Sistemi ...
Kullanarak docker konteyner içinde ana...
Could not load dosya veya derleme Sist...
Could not load dosya veya derleme Sist...