如何获取docker容器内的服务及其状态?

Kav*_*nna 3 docker

我在 Linux 服务器中有 docker 容器,我需要知道如何获取容器内应用程序、服务及其状态的详细信息。我需要执行哪个命令才能获取这些详细信息。

例如:

容器包含 tomcat 服务器。我需要获取 tomcat 服务器的详细信息及其状态(服务是否正在运行)。

我不知道是否有任何命令可以获取这些详细信息。

Tho*_*eil 5

您可以使用该docker exec命令在容器内执行您需要的任何命令。

例如,要列出容器内所有正在运行的进程:

docker exec <my container> ps aux
Run Code Online (Sandbox Code Playgroud)

或显示文件的内容

docker exec <my container> cat /etc/resolv.conf
Run Code Online (Sandbox Code Playgroud)

这些命令将使用图像中定义的用户执行。您可以使用以下选项覆盖它-u

docker exec -u root <my container> ls -l
Run Code Online (Sandbox Code Playgroud)

如果您需要运行多个命令,或使用容器中存在的环境变量,请使用以下技巧:

docker exec <my container> sh -c 'echo ~; echo "PATH: $PATH"'
Run Code Online (Sandbox Code Playgroud)

  • 这是正确的,但是 `ps` 很可能不会安装在容器中。 (2认同)