2016-03-30 26 views
1

Çalışan bir docker konteynerinde bir dosyayı düzenledim ve yeniden başlattım, maalesef son düzenlemem doğru değildi. Bu yüzden kapsayıcıyı her başlattığımda her zaman hemen çıkıyorum.Çıkılan dosya dockerda nasıl düzenlenir?

Şimdi bile sadece bir çalışan docker yayınlanabilir

docker exec -it <containerId> bash 

beri geri düzenlemeyi değiştiremez.

Soru şu şekilde değiştirilip kapsayıcıyı şimdi nasıl yeniden başlatabilirim? Ya da onu terk etmek ve var olan bir görüntüden yeni bir konteynere başlamak zorunda kaldım?

+1

Yapamazsınız, yeni bir konteynırdan başlamanız gerekecek – tpbowden

+0

Siz * can *, ama muhtemelen * yapmamalısınız * bunu yapmak istediğinizi gerçekten bilmiyorsanız. (Aşağıya bakın) – ThatsNinja

cevap

2

İçeriğinizin amacına veya değiştirdiğinize ilişkin ayrıntılar vermediniz. Kavramsal olarak, sen bunu başlattığınızda gibi, dosya sistemi ve mount that file into the container as a volume bir yerde değiştirilmesi gereken bir dosya oluşturmak olabilir:

docker run -it -v /Users/<path_to_file>:<container_path_to_file> <container> 

hovever kapsayıcı Şuna taşınabilirliği kaybeder gibi bu kötü biçimidir committing a new image olmadan gelin.

İdeal olarak, Docker kapsayıcısının içinde yapılması gereken değişiklikler Docker dosyasında yapılır ve kapsayıcı görüntüsü yeniden oluşturulur. Bu şekilde, başlangıçtaki çalışan kapsayıcı durumunuz Dockerfile kodunuzda temsil edilir ve yapılandırmanızı tekrarlanabilir, taşınabilir ve değişmez hale getirir.

+0

evet, haklısınız. Ben sadece bir konfigürasyonu değiştirmeyi düşünüyorum ve bir imajı yeniden oluşturmak yavaşlatıyor. Bir değişikliğin geçerli olup olmadığını görmek istiyorum, bu yüzden doğrudan kapsayıcı içinde düzenleyin ve sonucu hata ayıklama için görüyorum. – xidui

+0

Elbette, ve bunu yapmayı düşünebilmem için en iyi yol, yukarıda belirtildiği gibi bir ses birimi yuvası ile. Var olan bir kap görüntüsünde bir dosyayı mahvederseniz, kötü dosyayı değiştirmek için bu tekniği kullanarak en azından sizi kapsayıcıya götürün. Daha sonra, kapsayıcı dışındaki dosyayı düzenleyerek değişikliklerinizi test edebilir ve kendinizi kilitleyeceğinizden endişelenmeyebilirsiniz. – ThatsNinja

İlgili konular