大家好,
我正在运行一个docker image centos:6,其中没有任何内容。每当我运行docker run centos:6时,它就会运行,而当我运行docker ps时,它不会显示为正在运行。当我执行“ docker ps -a”时,它显示为退出。我希望将其永久化而不是退出。我假设它已经执行并完成了该过程。我是否可以在docker文件中包含任何命令或指令,以使docker映像保持运行并在我运行docker ps时显示?还是我误会了什么?它应该表明它虽然在后台运行
谢谢
答案 0 :(得分:1)
根据您使用的图像,您需要指定一个命令,并用-d
和-it
标志来守护它。
示例:
docker run -d -it centos:6 /bin/bash
您将获得带有容器ID的输出,如下所示:
31b02d787a8850a7eda3bd0ef91989b26ac02c5694a8626344369cfc093a05ad
然后您可以检查正在运行的容器并获取其状态:
docker inspect 31b02d787a8850a7eda3bd0ef91989b26ac02c5694a8626344369cfc093a05ad | jq '.[].State.Status'
"running"
然后输入容器:
docker exec -it 31b02d787a8850a7eda3bd0ef91989b26ac02c5694a8626344369cfc093a05ad /bin/sh
#
答案 1 :(得分:1)
如果希望容器继续运行,可以将其作为守护程序启动,例如:
docker run -d centos:6
如果要以交互方式运行它,那么您可以在os内部运行:
docker run -it centos:6 /bin/bash
除了bash之外,您还可以放置已安装的任何外壳,并且更喜欢使用。