Amazon ec2 PM2列表返回一个空列表

Amazon ec2 PM2列表返回一个空列表,amazon-ec2,npm,pm2,Amazon Ec2,Npm,Pm2,我们正在使用AWS CodeDeploy和PM2版本:“^0.12.14”来管理我们的web应用程序,但是在点击PM2 list后,我们得到了一个空列表,尽管该节点应用程序已成功启动并且PM2当前正在服务器上运行,此外,应用程序日志和PM2日志的~/.PM2/PM2.log日志工作正常,如下所示: 正在以-群集模式-为应用程序名称:应用程序id:0启动执行序列 应用程序名称:应用程序id:0联机 但当我们试图显示应用程序app详细信息时,它显示没有具有此名称的应用程序,甚至没有idpm2 s

我们正在使用AWS CodeDeploy和PM2
版本:“^0.12.14”
来管理我们的web应用程序,但是在点击
PM2 list
后,我们得到了一个空列表,尽管该节点应用程序已成功启动并且
PM2
当前正在服务器上运行,此外,应用程序日志和PM2日志的
~/.PM2/PM2.log
日志工作正常,如下所示:

正在以-群集模式-为应用程序名称:应用程序id:0启动执行序列
应用程序名称:应用程序id:0联机
但当我们试图显示应用程序
app
详细信息时,它显示没有具有此名称的应用程序,甚至没有id
pm2 show app
,它会告诉我们
[pm2][WARN]app不存在

我们不知道到底是什么问题,你能帮我们吗


这是一个

我在
pm2 0.12.x
上遇到了同样的问题,我认为应该通过更新来解决这个问题,但不幸的是没有,我使用的版本是
1.1.3

然后,我开始尝试使用
docker
来重现这一点。 我使用ssh config创建了一个docker容器,并将其作为部署应用程序的ssh服务器运行。我无法重现这个问题

比较两台服务器(我的live server和docker中运行的服务器)的环境变量,我发现唯一的区别是
PM2_HOME
变量,当我在live server上取消设置PM2_HOME变量时,我可以使用
PM2 list
我认为PM2主文件夹默认情况下是用户的主文件夹。 因此,我的解决方案是取消env变量的设置或将其设置到正确的文件夹,在我的例子中是this
/home/username/.pm2

下面是一个示例
Dockerfile
,其中包含节点npm和pm2,您可以在其中部署应用程序并与服务器配置进行比较:

来自节点:最新
apt-get-update&&apt-get-install-y openssh服务器
运行mkdir/var/RUN/sshd
运行echo“root:root”| chpasswd
在不使用密码的情况下运行sed-i的/permitrotlogin/permitrotlogin yes/'/etc/ssh/sshd_config
#SSH登录修复程序。否则,用户在登录后将被关闭
运行sed's@session\s*必需\s*pam\u loginuid。so@session可选pam_loginuid。so@g'-i/etc/pam.d/sshd
环境不可见“在用户配置文件中”
运行echo“export VISIBLE=now”>>/etc/profile
运行npm安装-gpm2@1.1.3
暴露22