我是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
答案 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的使用。 旧命令语法仍然支持,但我们鼓励大家采用新的语法