当调用docker ps时,列表是空的,虽然我有一个id:(dcbb6aeaa06ba43fcb.....
)
我的步骤:
imagekommando
):docker run -d --name containerkommando imagekommando
我有个身份证! (容器ID 50)docker ps
显示空列表:但是,当我重复步骤2时,我被告知,容器(containerkommando
)已经存在:
docker run -d --name containerkommando imagekommando
你能帮助我,理解背后的逻辑吗?我怎样才能让容器运行(通过ID)?
这意味着docker容器退出时出现错误,但需要清理。使用--rm选项,您可以告诉docker在容器退出时删除容器。
docker run --rm .....
另外要检查容器退出的原因......你可以使用
docker logs <container_id>
这可能发生在什么地方:
docker run ...
创建并启动您的容器docker ps
没有列出已停止的容器(默认显示刚刚运行),所以它让你认为它不存在。docker run ...
失败,因为您正在尝试创建并运行具有已存在名称的容器。进一步阅读:
docker ps
仅显示活动容器(正在运行的容器)。
您的容器很可能在您启动后立即退出。您可以使用容器ID并执行docker logs <container-id>
来检查容器失败的原因。
如果要查看已停止的容器以及正在运行的容器,可以执行docker ps -a
以获取所有这些容器的列表。
在Docker中,任务完成时会自动退出容器。您必须指定正确的入口点才能使Docker容器保持运行状态。
您可以使用命令docker ps -a
检查已退出的容器。此退出的容器将阻止您再次使用该名称。
因此,您可能希望在创建新容器之前使用docker rm <container-name>
。在测试环境中,您还可以使用docker system prune
清除所有未使用的容器/网络。