根据我到目前为止阅读的教程,使用“ docker run -d
”将从图像启动容器,并且该容器将在后台运行。看起来就是这样,我们可以看到我们已经有了容器ID。
root@docker:/home/root# docker run -d centos
605e3928cdddb844526bab691af51d0c9262e0a1fc3d41de3f59be1a58e1bd1d
但是如果我运行“ docker ps
”,则什么也没有返回。
所以我尝试了“ docker ps -a
”,可以看到容器已经退出:
root@docker:/home/root# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
605e3928cddd centos:latest "/bin/bash" 31 minutes ago Exited (0) 31 minutes ago kickass_swartz
我做错了什么?如何解决此问题?
docker run -it -d <image> /bin/bash
它以交互方式启动bash shell并使其正常工作,因为shell进程处于活动状态,因此没有关闭容器。