首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >[PM2][错误]找不到文件processes.json

[PM2][错误]找不到文件processes.json
EN

Stack Overflow用户
提问于 2016-06-08 14:37:06
回答 1查看 2K关注 0票数 1

我正在使用dockerfile加载我的节点js应用程序,当我运行命令docker run -p 4500:4500 myname/my-docker-image时,由于某种原因,映像构建成功了

我得到的回应是:

代码语言:javascript
复制
pm2 launched in no-daemon mode (you can add DEBUG="*" env variable to get more messages)
2016-06-08 06:29:17: [PM2][WORKER] Started with refreshing interval: 30000
2016-06-08 06:29:17: [[[[ PM2/God daemon launched ]]]]
2016-06-08 06:29:17: BUS system [READY] on port /root/.pm2/pub.sock
2016-06-08 06:29:17: RPC interface [READY] on port /root/.pm2/rpc.sock
2016-06-08 06:29:17: [PM2][ERROR] File processes.json not found
2016-06-08 06:29:17: 
│ App name │ id │ mode │ pid │ status │ restart │ uptime │ memory │ watching │
└──────────┴────┴──────┴─────┴────────┴─────────┴────────┴────────┴──────────┘
2016-06-08 06:29:17:  Use `pm2 show <id|name>` to get more details about an app
2016-06-08 06:29:17: --no-daemon option enabled = do not exit pm2 CLI
2016-06-08 06:29:17: PM2 daemon PID = 1
2016-06-08 06:29:17: [PM2] Streaming realtime logs for [all] processes 

最重要的是在我为pm2构建的版本中明确定义了processes.json文件。

下面是我的processes.json文件的内容:

代码语言:javascript
复制
    "apps": [
        {
            "name": "jira-accelo-integration",
            "script": "server.js",
            "merge_logs": true,
            "max_restarts": 20,
            "instances": 4,
            "DEBUG": "*",
            "max_memory_restart": "200M",
            "env": {
                "PORT": 4500,
                "NODE_ENV": "production"
            }
        }
    ]
}
EN

回答 1

Stack Overflow用户

发布于 2016-09-01 12:55:22

我收到了这个错误,但在我的例子中,问题被证明要简单得多,在创建processes.json文件时文件名有一个拼写错误。以下是我为解决此问题而采取的步骤:

在交互模式下使用shell运行docker容器。它是从正确的工作目录开始的吗?所有的文件都准备好了吗,包括你的processes.json文件?在交互式会话中执行pm2 start processes.json是否有效?

代码语言:javascript
复制
$ docker run -it jla/dockerizing-node-app bash
root@a9ee4c9c7816:/var/www/app/current# pm2 start processes.json --no-daemon

在Dockerfile文件中注释掉CMD并添加一个新的命令,以验证命令是否可以看到您的processes.json文件。

代码语言:javascript
复制
$ edit Dockerfile
CMD ["ls" "-l" "processes.json"]
$ docker build -t jla/dockerizing-node-app .
$ docker run -p 4500:4500 jla/dockerizing-node-app

正是在这一点上,当ls失败时,我注意到我的文件被命名为process.json。也许ls命令也会因为其他原因而失败,比如没有使用正确的WORKDIR。尝试使用ls、-l和pwd等其他命令,从命令的角度查看容器中发生的情况。你应该能够通过一些坚持不懈和仔细的观察来让它工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37694946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档