testingDocker内运行的进程是否在同一主机上的一种方法
比方说,我有两个进程在单个计算机/主机上运行Docker中的C ++代码(单独的映像)。
我怎样才能找出这些进程是否共享相同的主机(通过编写在容器内运行的C ++代码/ Linux命令)。
编辑
VonC提到从外部添加这些信息和“帮助容器”提供更多的见解,但是我正在寻找从内部进行操作的方法,无需访问Dockerfile和/或docker启动环境。
正如问题1143中提到的,也许你可以检查主机IP。 如果在两个容器中都是相同的,则应该在同一个主机上运行。
注意:有时您需要连接到Docker主机,这意味着获取主机的IP地址。
您可以使用以下shell命令来简化此过程:
$ alias hostip="ip route show 0.0.0.0/0 | grep -Eo 'via \S+' | awk '{ print \$2 }'" $ docker run --add-host=docker:$(hostip) --rm -it debian
另一个选项是在运行容器时传递docker主机 :
当你在做docker运行时,添加以下参数:–
--add-host=dockerhost:replace_with_docker_host_ip
,它在容器的/etc/hosts
文件中创build一个条目。
当然,这意味着您可以使用其名称dockerhost
从该容器内引用您的泊坞窗主机。
请参阅“ 将条目添加到容器主机文件 ”