微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

码头工人 | PM2 | Bash - PM2 错误:错误:解释器 bash 在 PATH 中不可用

如何解决码头工人 | 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"

ecosystem.config.js

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 命令。 取而代之的是,您可以使用 ashsh 命令。

要检查图像是否包含特定命令,如 bash,请尝试使用:

docker run --rm -it --name <container_name> <image_name> bash

如果 bash 不起作用,请使用 ashsh 更改 bash。如果此命令有效,您将进入容器命令行。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。