【发布时间】:2020-02-28 10:16:33
【问题描述】:
嗨。首先,我知道这可能是某种重复。但是我发现的答案对我没有帮助。这是我的情况。
我想使用 GCP (GKE) 创建我的 docker 映像的部署。我使用 gke ui(在工作负载菜单中)创建它。我的图像是由 docker 文件创建的,您可以在此处看到:
FROM keymetrics/pm2:latest-alpine
COPY dist dist/
COPY package.json .
COPY pm2.json .
RUN npm install --production
RUN ls -al -R
CMD [ "pm2", "start", "pm2.json", "-p", "3000:80" ]
我已在本地启动此映像,并且工作正常。在这里你可以看到它:
sudo docker run booknotes-app
[PM2] Spawning PM2 daemon with pm2_home=/root/.pm2
[PM2] PM2 Successfully daemonized
[PM2][WARN] Applications booknotes-app not running, starting...
[PM2] App [booknotes-app] launched (1 instances)
┌───────────────┬────┬─────────┬──────┬─────┬────────┬─────────┬────────┬─────┬───────────┬──────┬──────────┐
│ App name │ id │ version │ mode │ pid │ status │ restart │ uptime │ cpu │ mem │ user │ watching │
├───────────────┼────┼─────────┼──────┼─────┼────────┼─────────┼────────┼─────┼───────────┼──────┼──────────┤
│ booknotes-app │ 0 │ N/A │ fork │ 24 │ online │ 0 │ 0s │ 0% │ 22.9 MB │ root │ disabled │
└───────────────┴────┴─────────┴──────┴─────┴────────┴─────────┴────────┴─────┴───────────┴──────┴──────────┘
Use `pm2 show <id|name>` to get more details about an app
您还可以查看我的 pod 列表:
你也可以看到我压碎的豆荚的日志:
kubectl logs booknotes-back-end-7f6766868f-5c92l
[PM2] Spawning PM2 daemon with pm2_home=/root/.pm2
[PM2] PM2 Successfully daemonized
[PM2][WARN] Applications booknotes-app not running, starting...
[PM2] App [booknotes-app] launched (1 instances)
┌───────────────┬────┬─────────┬──────┬─────┬────────┬─────────┬────────┬─────┬──────────┬──────┬──────────┐
│ App name │ id │ version │ mode │ pid │ status │ restart │ uptime │ cpu │ mem │ user │ watching │
├───────────────┼────┼─────────┼──────┼─────┼────────┼─────────┼────────┼─────┼──────────┼──────┼──────────┤
│ booknotes-app │ 0 │ N/A │ fork │ 23 │ online │ 0 │ 0s │ 0% │ 3.2 MB │ root │ disabled │
└───────────────┴────┴─────────┴──────┴─────┴────────┴─────────┴────────┴─────┴──────────┴──────┴──────────┘
Use `pm2 show <id|name>` to get more details about an app
如您所见,它与本地的外观相同。我也尝试过从这个回复中解决:
I got Pod errors: CrashLoopBackOff from kubernetes
我添加了tty: true,但对我没有多大帮助。如果您需要更多信息,请告诉我
【问题讨论】:
-
当你
docker run它时,它是立即返回命令提示符还是继续运行?输出中的“Daemonized”是一个危险信号,它表明进程已经后台运行,这将导致容器/pod 立即退出。 -
发送
kubectl describe pod booknotes-back-end-7f6766868f-5c92l的输出
标签: kubernetes google-kubernetes-engine