2014-05-01 17 views
22

Tak więc pomyślnie pobrałem i uruchomiłem obraz dockerfile/nginx z rejestru. Jak mogę teraz uzyskać dostęp do jego systemu plików, uruchamiając na nim terminal bash?uzyskiwanie dostępu do systemu plików kontenera dokera przez terminal

Może brakuje mi czegoś koncepcyjnie tutaj. Czy muszę do tego ssh? Dzięki

+2

Możliwa duplikat http://stackoverflow.com/questions/20813486/docker-exploring-containers-file-system – thSoft

Odpowiedz

27

można uruchomić interaktywną powłokę w nowym obrazie:

sudo docker run -i -t nginx /bin/bash 

Daje to dostęp do pojemnika i można zmienić ten stan rzeczy. Po zakończeniu należy zapisać zmiany w nowym obrazie wielokrotnego użytku:

sudo docker commit <container_id> <some_name> 

Takie podejście ma sens przy testowaniu. Zwykle używa się Dockerfiles, aby zautomatyzować to.

W przypadku, gdy obraz ma domyślny punkt wejścia można go zastąpić:

docker run -i -t --entrypoint /bin/bash nginx 
+0

dzięki Dostaję "nieprawidłową opcję/bin/bash", więc domyślam się, że twórcy obrazu wyłączyli lub usunęli bash? – Zuriar

+0

spróbuj zastąpić domyślny punkt początkowy (patrz aktualizacja) – Sebastian

+0

Jak zapisać zmiany w nowym obrazie nadającym się do ponownego użycia bez uprzedniego opuszczenia uruchomionego kontenera? – Zuriar

Powiązane problemy