2015-08-28 1 views
0

Я только что увидел приведенный ниже сценарий в документе Docker.Понимание кода, выполненного после команды запуска в Docker

$ docker restart db 
db 
$ docker run -t -i --rm --link db:db training/webapp /bin/bash 
[email protected]:/opt/webapp# cat /etc/hosts 
172.17.0.7 aed84ee21bde 
. . . 
172.17.0.9 db 

Что происходит после выполнения работы cammand? , нижняя часть i означает:

[email protected]:/opt/webapp# cat /etc/hosts 

Может кто-нибудь объяснить это по строкам, я не понимаю. Пожалуйста, это действительно важно для меня.

ответ

1
docker run -t -i --rm --link db:db training/webapp /bin/bash 

Эта строка выполняет команду /bin/bash в контейнере, созданного из образа training/webapp. /bin/bash - интерактивная оболочка, и поэтому ее выполнение означает, что теперь вы находитесь в оболочке внутри поддельной машины, которая является контейнером Docker. [email protected]:/opt/webapp# - это приглашение оболочки, указывающее, что вы являетесь root на хосте aed84ee21bde с текущим каталогом /opt/webapp. cat /etc/hosts означает то же самое здесь, что и за пределами контейнера, за исключением того, что здесь речь идет о файле /etc/hosts внутри контейнера, который, вероятно, отличается от такового в вашей основной системе.

Смежные вопросы