4.4 删除容器

可以使用docker rm命令来删除处于终止或退出状态的容器,命令格式为docker rm[-f|—force][-l|—link][-v|—volumes]CONTAINER[CONTAINER…]。

主要支持的选项包括:

·-f,—force=false:是否强行终止并删除一个运行中的容器;

·-l,—link=false:删除容器的连接,但保留容器;

·-v,—volumes=false:删除容器挂载的数据卷。

例如,查看处于终止状态的容器,并删除:


  1. $ docker ps -a
  2. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS
  3. NAMES
  4. ce554267d7a4 ubuntu:latest "/bin/sh -c 'while t 3 minutes ago Exited
  5. (-1) 13 seconds ago determined_pike
  6. d58050081fe3 ubuntu:latest "/bin/bash" About an hour ago Exited (0)
  7. About an hour ago berserk_brattain
  8. e812617b41f6 ubuntu:latest "echo 'hello! I am h 2 hours ago
  9. Exited (0) 3 minutes ago
  10. $ docker rm ce554267d7a4
  11. ce554267d7a4

默认情况下,docker rm命令只能删除处于终止或退出状态的容器,并不能删除还处于运行状态的容器。

如果要直接删除一个运行中的容器,可以添加-f参数。Docker会先发送SIGKILL信号给容器,终止其中的应用,之后强行删除,如下所示:


  1. $ docker run -d ubuntu:14.04 /bin/sh -c "while true; do echo hello world;
  2. sleep 1; done"
  3. 2aed76caf8292c7da6d24c3c7f3a81a135af942ed1707a79f85955217d4dd594
  4. $ docker rm 2ae
  5. Error response from daemon: You cannot remove a running container. Stop the
  6. container before attempting removal or use -f
  7. 2016/07/03 09:02:24 Error: failed to remove one or more containers
  8. $ docker rm -f 2ae
  9. 2ae