了解在Docker中运行命令后执行的代码
我刚刚在Docker文档中看到了下面的脚本。
$ docker restart db db $ docker run -t -i --rm --link db:db training/webapp /bin/bash root@aed84ee21bde:/opt/webapp# cat /etc/hosts 172.17.0.7 aed84ee21bde . . . 172.17.0.9 db
运行cammand执行后发生了什么? ,下面的部分我的意思是:
root@aed84ee21bde:/opt/webapp# cat /etc/hosts
有人可以一行一行地解释,我不明白。 请这对我来说真的很重要。
docker run -t -i --rm --link db:db training/webapp /bin/bash
该行执行从图像training/webapp
创build的容器中的命令/bin/bash
。 /bin/bash
是一个交互式shell,所以执行它意味着你现在处于Docker容器的伪造机器中的shell中。 root@aed84ee21bde:/opt/webapp#
是shell的提示符,表示您在当前目录/opt/webapp
主机aed84ee21bde
上是root
。 cat /etc/hosts
在这里指的是它在容器外面的相同的东西,除了这里指的是容器内的/etc/hosts
文件,这个文件可能与你的主系统上的文件不同。