我想自动运行多个容器并创建一些东西,
但是有些图像,比如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 容器保持运行……?
(对不起,我的英语不好))
Best Answer-推荐答案
首先你不想混用-i 和 -d 开关。您想以交互模式或分离模式运行容器。在您处于分离模式的情况下:
docker run -d swarm /bin/bash tail -f /dev/null
也无需使用 -t 分配 tty标志,因为这只需要在交互模式下完成。
你应该看看 Docker run reference
关于docker - 如何保持 docker 容器运行?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/45461263/
|