- 此问题在此处已有答案**:
How to retrieve docker container name from pid of docker exec on the host (MacOS)(1个答案)
1年前关闭。
我是Docker和Linux的新手,我想知道"在后台运行"是什么意思,当涉及到容器时,因为我找不到与后台运行容器相关的进程。
我在docker
上运行过滤的htop,并启动2个容器:
docker run nginx
--〉正如我所料,在htop(启动它的shell的子进程)中出现了一个进程docker run -d nginx
--〉此处未显示任何内容(容器正在运行)
我找不到任何解释(我可能只是没有看我应该看的地方...)。这里发生了什么?
编辑:
I eventually figured out the "issue" which, as usual, lay between my chair and my keyboard: I'm running a headless linux VM on macOS and it didn't occur to me (until now (╬ಠ益ಠ)) that I wasn't launching my commands on the VM but directly on my host OS.
因此,在macOS上的docker使用了自己的linux虚拟机,而我的htop
命令只列出了链接到打开的"主机"终端的虚拟机。
参见How to retrieve docker container name from pid of docker exec on the host (MacOS)
1条答案
按热度按时间ny6fqffe1#
Docker容器最终只是进程,但容器也有可能死亡。
如果你运行
docker run -d nginx
,它会打印出一个长的十六进制字符串。这是新容器的ID。你可以运行docker logs <container-id>
来获取日志,例如docker logs 123456
。你不需要完整的ID,只需要前几个字符就可以了。您可以使用
docker ps
查看正在运行的容器,使用docker ps -a
查看所有容器(活动的和不活动的)。