如何清理孤立的 Docker 容器?

如何清理孤立的 Docker 容器?

我有一个设置,用户可以通过 PuTTY 登录到主机并可以生成 Docker 容器供他们使用。

Docker 命令如下所示:

docker run -it --rm -v /home/$USER:/home/$USER -w="/home/$USER" -u $USER --hostname="$USER-gcc463-docked" precise-gcc4 tmux new -s docker-$USER

如您所见,我使用了--rm,因此理论上当用户退出时应该删除容器,但实际上,一些用户关闭了他们的PuTTY窗口并且容器被留在了孤立状态。

您是否知道在这种情况下如何才能真正移除容器,或者至少如何找到孤立的容器并清理它们?

谢谢。

答案1

docker ps -a将帮助您找到尚未清理的容器。

答案2

我的解决方案是将 docker run 包装到一个带有陷阱的脚本中,例如

trap "if docker ps | grep -c ${CONTAINER_NAME}; then docker stop ${CONTAINER_NAME}; fi" 0 1

相关内容