Docker görüntünüze yerel bir dizin de bağlayabilir ve komut dosyasını .bashrc
. Her yeni kabukta çalıştırılmasını istemediğiniz sürece betiğin işlevlerden oluşması gerektiğini unutmayın. (Bu güncel değil, güncelleme bildirimine bakın.)
Docker örneğinin dışında komut dosyasını güncelleyebilmek için bu çözümü kullanıyorum. Bu şekilde, değişiklik olursa görüntüyü yeniden çalıştırmam gerekmiyor, sadece yeni bir kabuk açıyorum. (Bir kabuğu yeniden açmaktan kurtuldunuz - güncelleme bildirimine bakın)
Mevcut dizininizi şu şekilde bağlayabilirsiniz:
docker run -it -v $PWD:/scripts $my_docker_build /bin/bash
Artık geçerli dizininiz /scripts
docker örneğinize bağlıdır.
(Güncel değil) .bashrc
Değişikliklerinizi kaydetmek için çalışma resminizi bu komutla uygulayın:
docker commit $container_id $my_docker_build
Güncelleme
Her değişiklik için yeni bir kabuk açmak için sorunu çözmek için şimdi aşağıdakileri yapıyorum:
Dockerfile'ın kendisine ekliyorum RUN echo "/scripts/bashrc" > /root/.bashrc"
. İçeridezshrc
betikler dizinini yola aktarıyorum. Scripts dizini artık bir yerine birden çok dosya içeriyor. Artık her değişiklikte bir alt kabuk açmadan tüm betikleri doğrudan arayabiliyorum.
BTW geçmiş dosyasını konteynerinizin dışında da tanımlayabilirsiniz. Bu şekilde artık bir bash değişikliğine bağlı kalmak gerekli değildir.
WORKDIR
ve kullanmıyorsunuzCMD
?