如何让docker容器保持运行?

2023-12-27

我想自动运行多个容器并创建一些东西,

但有些镜像,例如swarm,在运行或启动后会自动停止。

我已经这样尝试了

docker run -d swarm

docker run -d swarm /bin/bash tail -f /dev/null

docker run -itd swarm bash -c "while true; do sleep 1; done"

但“docker ps”什么也没显示,我尝试通过键入以下内容来构建 Dockerfile:

FROM swarm
ENTRYPOINT ["echo"]

并且图像未运行并显示错误消息:

docker: Error response from daemon: invalid header field value "oci runtime error: container_linux.go:247: starting container process caused \"exec: \\\"echo\\\": executable file not found in $PATH\"\n".

我无法理解这个错误...我怎样才能保持 swarm 容器运行..?

(抱歉,我的英语不好))


using -d推荐使用,因为您只需一个命令即可运行容器,并且不需要通过点击来分离容器的终端Ctrl + P + Q。

但是,-d 选项有问题。您的容器立即停止除非命令不在前台运行。 Docker 要求您的命令保持在前台运行。否则,它认为您的应用程序停止并关闭容器。

问题是某些应用程序不在前台运行。

在这种情况下,您可以添加尾-f /dev/null听从你的命令。 通过这样做,即使你的主命令在后台运行,你的容器也不会停止,因为 tail 仍然在前台运行。

docker run -d swarm tail -f /dev/null

码头工人显示容器

现在您可以使用以下方式附加容器docker exec 容器名称命令

or

docker run -d swarm 命令 tail -f /dev/null

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何让docker容器保持运行? 的相关文章

随机推荐