在yurn启动成功完成后,Node.js docker容器退出,退出代码为0



我的Dockerfile below成功构建:

FROM node:10-alpine
ENV VS_ENV prod
WORKDIR /var/www
COPY shims.d.ts ./
COPY tsconfig.json ./
COPY tsconfig-build.json ./
COPY package.json ./
COPY yarn.lock ./
COPY config ./config
COPY core ./core
COPY ecosystem.json ./
COPY .eslintignore ./
COPY .eslintrc.js ./
COPY lerna.json ./
COPY package.json ./
COPY src ./src
RUN apk add --virtual .build-deps ca-certificates wget python make g++ 
&& apk add git 
&& yarn install 
&& yarn build

然后我用运行容器

docker run -it -p 3000:3000 vue/sf:4a yarn start

据我所知,日志显示应用程序启动:

[PM2] Spawning PM2 daemon with pm2_home=/root/.pm2
[PM2] PM2 Successfully daemonized
[PM2][WARN] Applications server not running, starting...
[PM2] App [server] launched (4 instances)
┌──────────┬────┬─────────┬─────┬────────┬─────────┬────────┬─────┬───────────┬──────┬──────────┐
│ App name │ id │ mode    │ pid │ status │ restart │ uptime │ cpu │ mem       │ user │ watching │
├──────────┼────┼─────────┼─────┼────────┼─────────┼────────┼─────┼───────────┼──────┼──────────┤
│ server   │ 0  │ cluster │ 52  │ online │ 0       │ 0s     │ 34% │ 72.5 MB   │ root │ disabled │
│ server   │ 1  │ cluster │ 59  │ online │ 0       │ 0s     │ 28% │ 61.0 MB   │ root │ disabled │
│ server   │ 2  │ cluster │ 70  │ online │ 0       │ 0s     │ 24% │ 35.3 MB   │ root │ disabled │
│ server   │ 3  │ cluster │ 81  │ online │ 0       │ 0s     │ 20% │ 30.0 MB   │ root │ disabled │
└──────────┴────┴─────────┴─────┴────────┴─────────┴────────┴─────┴───────────┴──────┴──────────┘
Use `pm2 show <id|name>` to get more details about an app
Done in 2.08s.

但是容器并没有像我预期的那样保持运行,而是以状态代码0退出,因此没有错误:

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS               NAMES
8b77d6ffe26e        vue/sf:4            "docker-entrypoint.s…"   11 minutes ago      Exited (0) 11 minutes ago                       keen_raman

有什么想法吗?我做错了什么?

谢谢

您的容器退出状态为0,这意味着一切都按预期进行。您的应用程序似乎只是启动了一些服务,然后退出。我们需要查看运行应用程序的命令。此外,我们可能需要查看您的源代码。

顺便说一句,如果您运行的命令与pm2相关,请尝试使用--no daemon选项启动pm2。

相关内容

  • 没有找到相关文章

最新更新