在Docker中,要实现容器在退出时自动删除,可以在运行容器时使用 --rm
标志。--rm
参数会指示Docker在容器退出后立即删除容器。以下是具体的命令示例:
docker run --rm <image-name> <command>
例如,如果要运行一个基于Ubuntu镜像的容器,并在容器运行完cat /etc/hosts
命令后自动删除容器,可以这样做:
docker run --rm ubuntu cat /etc/hosts
另外,如果你想要在容器退出时不立即删除它,而是等待一段时间再删除,可以使用--rm
参数结合--stop-timeout
参数来实现。例如,以下命令将在容器停止后等待30秒再删除它:
docker run --rm --stop-timeout 30 ubuntu:latest /bin/bash
综上所述,如果你使用的是Docker Compose来管理多个容器的服务,你可以在docker-compose.yml
文件中为每个服务指定restart
策略,并使用docker-compose down
或docker-compose rm
命令来清理停止的服务。这些命令会根据配置自动删除停止的容器。