首页 > 解决方案 > Dockerfile 在后台运行脚本而不退出它

问题描述

我尝试在 docker 的后台执行二进制文件。在 linux 服务器上,我使用了 ./binary config.xml &

所以,我尝试在 docker 上执行

Dockerfile

COPY dockerrun.sh /usr/local/bin/dokcerrun.sh
RUN chmod +x /usr/local/bin/vectorrun.sh
RUN bash -c "sh /usr/local/bin/vectorrun.sh"

dockerrun.sh

#!/bin/sh                                                                                                                                                                                                                                  
/root/binary --config /root/config.xml &

不幸的是,当我连接到 docker docker build 时。docker run -ti id bash

我没有看到我的进程二进制执行:ps -ef | grep 二进制

我尝试使用 ENTRYPOINT 指令:

COPY dockerrun.sh /usr/local/bin/dockerrun.sh
RUN chmod +x /usr/local/bin/dockerrun.sh
ENTRYPOINT ["/usr/local/bin/dockerrun.sh"]

docker build .
docker run -ti id

但是我的容器直接退出(0)并且没有运行

标签: dockerdockerfile

解决方案


推荐阅读