我想自动运行多个容器并创建一些东西,
但有些镜像,例如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(使用前将#替换为@)