Docker镜像运行

时间:2018-07-26 15:38:37

标签: docker containers

大家好,

我正在运行一个docker image centos:6,其中没有任何内容。每当我运行docker run centos:6时,它就会运行,而当我运行docker ps时,它不会显示为正在运行。当我执行“ docker ps -a”时,它显示为退出。我希望将其永久化而不是退出。我假设它已经执行并完成了该过程。我是否可以在docker文件中包含任何命令或指令,以使docker映像保持运行并在我运行docker ps时显示?还是我误会了什么?它应该表明它虽然在后台运行

谢谢

2 个答案:

答案 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之外,您还可以放置已安装的任何外壳,并且更喜欢使用。