调用 docker ps 时,列表为空,尽管我有一个ID:
(dcbb6aeaa06ba43fcb.....
)
我的步骤:
步骤1 :我创建了一个正在运行的js.file的映像(imagekommando
):
第2步:我根据图片创建了一个容器(在后台)
docker run -d --name containerkommando imagekommando
我有一个身份证! (container-id ??)
步骤3 :但是docker ps
显示为空列表:
但是,当我重复步骤2时,得知容器(containerkommando
)已经存在:
docker run -d --name containerkommando imagekommando
您能帮助我,了解背后的逻辑吗? 以及如何使容器运行(按ID)?
答案 0 :(得分:1)
这里可能发生的事情:
docker run ...
创建并启动您的容器docker ps
不会列出已停止的容器(默认显示仅在运行),因此让您认为它不存在。docker run ...
失败,因为您试图创建和运行具有已经存在的名称的容器。进一步阅读:
答案 1 :(得分:0)
docker ps
仅显示活动容器(正在运行的容器)。
您的容器很可能在启动后立即退出。您可以使用容器ID并执行docker logs <container-id>
来检查容器失败的原因。
如果要查看已停止的容器以及正在运行的容器,可以执行docker ps -a
以获取所有这些容器的列表。
答案 2 :(得分:0)
这意味着docker容器错误退出,但是需要清理。使用--rm选项,您可以告诉Docker在容器退出后删除该容器。
docker run --rm .....
还可以检查容器退出的原因...您可以使用
docker logs <container_id>
答案 3 :(得分:0)
在Docker中,任务完成后会自动退出容器。您必须指定正确的入口点以保持Docker容器正常运行。
您可以使用命令docker ps -a
检查退出的容器。此退出的容器将阻止您再次使用该名称。
因此,您可能需要在创建新容器之前使用docker rm <container-name>
。在测试环境中,您还可以使用docker system prune
来清理所有未使用的容器/网络。
答案 4 :(得分:0)
执行
docker logs <CONTAINER ID>
查看Docker容器运行的日志。
我遇到了类似的问题,发现存在空间问题赢得了我的码头工人。清理空间后,容器即可运行。