显示停止的Docker容器

时间:2016-07-19 08:32:59

标签: docker

我是Docker的新手,我想列出已停止的容器。

使用docker ps

sudo docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

什么都没有出现,因为我重新启动了机器而我没有将它们配置为自动启动容器。

因此,当我尝试运行容器时,它说:

sudo docker run -d -p 8080:80 --name=angular_moviemasher  moviemasher/angular-moviemasher
docker: Error response from daemon: Conflict. The name "/angular_moviemasher" is already in use by container b4428b708711c15233f558e70f58cb7800e23c4a6a57534abfa5818912630a37. You have to remove (or rename) that container to be able to reuse that name..
See 'docker run --help'.

所以我想看看哪些Docker容器已经安装并启动它们。

在文档 Docker Cheat Sheet with examples 中,我只能找到如何显示正在运行容器的示例:

  

容器信息

     

显示正在运行的容器。使用-a选项,它显示运行和   停止了容器。

     

docker ps

5 个答案:

答案 0 :(得分:20)

就像你说docker ps -a将显示已停止和正在运行的容器(所有容器)。以下命令仅显示已停止的容器。

docker ps -a | grep Exit

现在您可以在容器上执行docker logs container-id以查看出现了什么问题。

答案 1 :(得分:4)

嗯,你给了自己答案:

  

容器信息

     

显示正在运行的容器。使用 -a 选项,它会显示正在运行和   停止了容器。

     

docker ps

所以试试

sudo docker ps -a

答案 2 :(得分:2)

如果 string submitted_date="12-04-2016"; cmd111.Parameters.AddWithValue("@submitted_date",Convert.ToDateTime(submitted_date)); 在机器重启后没有显示任何内容,请尝试重新启动Docker守护程序(在关机后某些时候也会发生这种情况)。

答案 3 :(得分:1)

仅显示停止的容器的最佳方法是运行以下命令:

docker container ls -f status=exited -a

答案 4 :(得分:0)

在上面的答案没有提及的另一个选择是:

select r.*
from Rates as r
where r.client = "Jhonsons" union all
select r.*
from Rates as r
where r.client = "General" and
      not exists (select 1 from Rates as r2 where r2.client = "Jhonsons") ;

它是在Docker 1.13(2017年1月)中添加的,似乎是the recommended syntax

  

在Docker 1.13中,我们重新组合了每个命令,使其位于与之交互的逻辑对象下。例如,list和startof容器现在是docker容器的子命令,而history是docker image的子命令。

     

docker container list --all
  docker container list
  docker container start

     

这些更改使我们可以清理Docker CLI语法,改进帮助文本并简化Docker的使用。 旧命令语法仍然支持,但我们鼓励大家采用新的语法