作为复杂CI系统的新手,尝试脚本时,我感到困惑的是,我的脚本是直接由系统的bash执行,还是从同一系统上运行的docker容器执行。因此,问题是:什么命令(环境变量查询或其他命令)可以告诉我是否在docker中?
答案 0 :(得分:1)
top
命令将列出计算机中的所有进程。然后使用另一个命令ps -axfo pid,uname,cmd
将给出进程的完整列表 docker ps | awk '{ print $1}' | xargs docker inspect -f '{{ .State.Pid }} {{ .Config.Hostname }}' | grep 2871
使用此方法,您可以识别包含进程的容器
礼貌:
Finding out to which docker container a process belongs to
how-do-i-get-the-parent-process-id-of-a-given-child-process
希望这会有所帮助
答案 1 :(得分:0)
如果您发现自己在容器中,则必须已执行命令才能进入该容器。
如果您忘记了位置,请键入docker ps
。如果失败,则您位于Docker容器中。
编辑:
很显然,当您在docker中运行docker时,此简单技巧不起作用。