如何保持ubuntu图像运行?

时间:2015-09-14 14:58:17

标签: docker

我尝试使用以下命令启动容器

sudo docker run ubuntu
之后我用

核对了
sudo docker ps -a

发现容器已退出

为什么退出?

如果没有指定-it并且在要求时附加到它,我怎么能让它在backgroud中运行?

4 个答案:

答案 0 :(得分:23)

由我自己解决,保持容器运行并等待进一步“附加”或“执行”的优雅方法如下(通过-i选项保持STDIN打开)

docker run -i -d ubuntu

答案 1 :(得分:3)

您需要使用不会退出的docker run命令启动应用程序。

示例:

show full processlist;

答案 2 :(得分:0)

正确的语法是

(来自docker run --help

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

您忘记指定命令。

你应该看一下docker hub

https://registry.hub.docker.com/

例如对于nginx,如果你看一下

https://hub.docker.com/_/nginx/

你会找到

docker run --name some-nginx -v /some/nginx.conf:/etc/nginx/nginx.conf:ro -d nginx

如果你看一下

https://github.com/nginxinc/docker-nginx/blob/7f3ef0927ec619d20181e677c97f991df0d7d446/Dockerfile

你会注意到Dockerfile的最后一行是

CMD ["nginx", "-g", "daemon off;"]

这意味着当您启动docker image nginx时,隐式操作是启动nginx。

答案 3 :(得分:0)

如果您希望容器不存在,则必须使用-d参数

所以看起来像这样:

docker run -d ubuntu