Building on @zangw's work, I wanted the container name and image as well.
(pstree can be found by installing psmisc
)
for i in $(docker container ls --format "{{.ID}}|{{.Names}}|{{.Image}}"); do printf $i | awk -F '|' '{str = sprintf("%s %s %s %s", "conatiner_name: ", $2, "| image_name:", $3)} END {print str}'; printf $i | awk -F '|' '{print $1}' | xargs -I'{}' docker top {} -o pid | awk '!/PID/' | xargs -I'{}' pstree -psa {}; done
or will pipe to less (/myterm to search + enter, then 'n' for next entry and 'N' for previous entry.)
for i in $(docker container ls --format "{{.ID}}|{{.Names}}|{{.Image}}"); do printf $i | awk -F '|' '{str = sprintf("%s %s %s %s", "conatiner_name: ", $2, "| image_name:", $3)} END {print str}'; printf $i | awk -F '|' '{print $1}' | xargs -I'{}' docker top {} -o pid | awk '!/PID/' | xargs -I'{}' pstree -psa {}; done | less
Sample output on CentOS 7:
conatiner_name: myproject_chrome_1 | image_name: selenium/standalone-chrome:4.5.2-20221021
systemd,1 --switched-root --system --deserialize 22
`-containerd-shim,24700 -namespace moby -id d22cd987862ed0d7c09431d12e2c8e4061f688a3401d1c1188458cbabe11a324 -address/run/
`-bash,24727 /opt/bin/entry_point.sh
`-supervisord,24828 /usr/bin/supervisord --configuration /etc/supervisord.conf
|-bash,24924 /opt/bin/start-xvfb.sh
| `-xvfb-run,24933 /usr/bin/xvfb-run --server-num=99 --listen-tcp...
| |-Xvfb,24964 :99 -screen 0 1360x1020x24 -fbdir /var/tmp -dpi 96 -listen tcp -noreset -ac +extension RANDR ...
| `-fluxbox,25023 -display :99.0
|-bash,24925 /opt/bin/start-vnc.sh
| `-x11vnc,25134 -usepw -forever -shared -rfbport 5900 -rfbportv6 5900 -display :99.0
|-bash,24926 /opt/bin/start-novnc.sh
| `-bash,24932 /opt/bin/noVNC/utils/launch.sh --listen 7900 --vnc localhost:5900
| `-python3,24955 -m websockify --web /opt/bin/noVNC/utils/../ 7900 localhost:5900
`-bash,24927 -c /opt/bin/start-selenium-standalone.sh && kill -s SIGINT `cat /var/run/supervisor/supervisord.pid`
`-bash,24928 /opt/bin/start-selenium-standalone.sh
`-java,25037 -Dwebdriver.http.factory=jdk-http-client -jar /opt/selenium/selenium-server.jar --ext...
|-{java},25058
|-{java},25060