docker 如何保持ubuntu镜像运行?

s6fujrry  于 2023-01-16  发布在  Docker
关注(0)|答案(5)|浏览(358)

我尝试使用以下命令启动container

sudo docker run ubuntu

之后我查了

sudo docker ps -a

发现容器已退出
它为什么退出?
我怎么能让它在后台运行而不指定它,并在需要时附加到它?

e5nszbig

e5nszbig1#

我自己解决了这个问题,保持容器运行并等待进一步的“attach”或“exec”的优雅方法如下(通过-i选项保持STDIN打开)

docker run -i -d ubuntu
vq8itlhq

vq8itlhq2#

您需要使用不会退出的docker run命令启动应用程序。
示例:
docker run -d --entrypoint '/bin/bash cat' ubuntu

tzdcorbm

tzdcorbm3#

正确语法为
(from x1月1x)
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
你忘记指定一个命令。
你应该去码头中心看看
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
您会注意到停靠文件的最后一行是
CMD ["nginx", "-g", "daemon off;"]
这意味着当您启动docker映像nginx时,隐式操作是启动nginx。

qlckcl4x

qlckcl4x4#

您可以在运行容器时添加tail命令。

docker run -d ubuntu tail -f /dev/null
kyxcudwk

kyxcudwk5#

如果希望容器不存在,则必须使用-d参数
看起来是这样的:

docker run -d ubuntu

相关问题