删除使用`docker ps -f status = created`列出的Docker容器是否安全?

时间:2015-10-22 09:01:11

标签: unix docker operations

我已经看到过显示如何删除docker ps -q -f status=exited列出的已退出容器的帖子,但我还要清理“已创建”但不是“正在运行”的容器。删除具有“已创建”状态的容器是否安全,或者是否存在缺点?

2 个答案:

答案 0 :(得分:4)

具有created状态的Docker容器是从图像创建但从未启动的容器。删除它们没有任何影响,因为您不会在容器中运行任何进程并导致更改所创建容器的状态,在以后的情况下需要提交。这通常是为了加快启动容器并确保所有配置都准备就绪。

Refer Docker Docs

  

docker create命令在其上创建一个可写容器层   指定的映像并准备运行指定的命令。该   然后将容器ID打印到STDOUT。这类似于docker run   -d除了容器永远不会启动。然后,您可以使用docker start命令随时启动容器。

     

当您想要提前设置容器配置时,这非常有用   时间,以便在您需要时准备好开始。最初的   创建新容器的状态。

答案 1 :(得分:0)

容器有两种可能处于创建状态:

  1. 正如@askb所说,使用docker create命令从图像创建的docker将在create命令中结束
  2. 由run命令创建但无法启动的docker容器。这里有多个原因,但是easiestone是一个docker容器,其端口映射到已绑定的
  3. 要回答这个问题,在这两种情况下,删除它们是安全的。

    通过run命令重现已创建状态的docker容器的方法是:

    docker pull loicmathieu/vsftpd
    docker run -p 621:21 -d  loicmathieu/vsftpd ftp
    docker run -p 621:21 -d  loicmathieu/vsftpd ftp
    

    然后docker ps -a会给你类似的东西

    CONTAINER ID        IMAGE                  COMMAND                  CREATED             STATUS
    e60dcd51e4e2        loicmathieu/vsftpd     "/start.sh ftp"          6 seconds ago       Created
    7041c77cad53        loicmathieu/vsftpd     "/start.sh ftp"          16 seconds ago      Up 15 seconds