如何解决码头工人 | PM2 | Bash - PM2 错误:错误:解释器 bash 在 PATH 中不可用
我正在尝试对运行 shell 脚本的 pm2 服务器进行 Dockerize,但我一直收到此错误
PM2 error: Error: Interpreter bash is NOT AVAILABLE in PATH
。 shell 脚本直接在终端中工作,并且能够记录“测试”,当我在没有 pm2 的 Docker 中运行 shell 脚本时,也会记录“测试”。我尝试使用命令 which bash
来获取正确的路径,它返回 /usr/bin/bash
。路径已添加到配置文件中,但错误仍然存在。
start.sh
#!/bin/sh
echo "Testing"
module.exports = {
apps: [{
script: './start.sh',intepreter: '#!/bin/sh',}]
};
Docker 文件
FROM keymetrics/pm2:latest-alpine
copY . .
RUN npm install pm2 -g
ENV PM2_PUBLIC_KEY <public key>
ENV PM2_SECRET_KEY <secret key>
copY ecosystem.config.js .
CMD ["chmod","+x","./start.sh"]
CMD ["pm2-runtime","start","ecosystem.config.js"]
我收到的错误
PM2 error: Error: Interpreter bash is NOT AVAILABLE in PATH
解决方法
此 docker 映像中没有 bash
命令。
取而代之的是,您可以使用 ash
或 sh
命令。
要检查图像是否包含特定命令,如 bash,请尝试使用:
docker run --rm -it --name <container_name> <image_name> bash
如果 bash 不起作用,请使用 ash
或 sh
更改 bash。如果此命令有效,您将进入容器命令行。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。