TL; DR
复制此:https://github.com/calvan-liang/radgrad2googlecloudissue。
确保您已安装meteor-google-cloud和gcloud CLI。如果没有:
在Powershell上:
npm install meteor-google-cloud -g
在Ubuntu终端上:
echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg]
https://packages.cloud.google.com/apt cloud-sdk main" | sudo tee -a
/etc/apt/sources.list.d/google-cloud-sdk.list
sudo apt-get install apt-transport-https ca-certificates gnupg
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key --
keyring /usr/share/keyrings/cloud.google.gpg add -
sudo apt-get update && sudo apt-get install google-cloud-sdk
meteor-google-cloud --init
如果不成功或不成功,Ubuntu:https://cloud.google.com/sdk/install
要部署,在应用目录中:
meteor-google-cloud --settings deploy/settings.json --app deploy/app.yml --
docker deploy/Dockerfile
APP_CONTAINER_CRASHED的原因是什么,如何解决?
。
。
。
。
。
当前遵循https://github.com/EducationLink/meteor-google-cloud的README.md,以使用Google Cloud部署预先存在的项目。在部署的第四步。当默认服务正在更新时,我收到此错误:
ERROR: (gcloud.app.deploy) Error Response: [9]
Application startup error! Code: APP_CONTAINER_CRASHED
/app/programs/server/node_modules/fibers/future.js:313
throw(ex);
^
MongoNetworkError: failed to connect to server [bla.com:27017] on first connect [MongoNetworkError: connection timed out
at connectionFailureError (/app/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/core/connection/connect.js:406:14)
at Socket.<anonymous> (/app/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/core/connection/connect.js:294:16)
at Object.onceWrapper (events.js:417:28)
at Socket.emit (events.js:311:20)
at Socket.EventEmitter.emit (domain.js:482:12)
at Socket._onTimeout (net.js:478:8)
at listOnTimeout (internal/timers.js:549:17)
at processTimers (internal/timers.js:492:7) {
name: 'MongoNetworkError',
[Symbol(mongoErrorContextSymbol)]: {}
}]
at Pool.<anonymous> (/app/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/core/topologies/server.js:438:11)
at Pool.emit (events.js:311:20)
at Pool.EventEmitter.emit (domain.js:482:12)
at /app/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/core/connection/pool.js:561:14
at /app/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/core/connection/pool.js:994:11
at /app/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/core/connection/connect.js:31:7
at callback (/app/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/core/connection/connect.js:264:5)
at Socket.<anonymous> (/app/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/core/connection/connect.js:294:7)
at Object.onceWrapper (events.js:417:28)
at Socket.emit (events.js:311:20)
at Socket.EventEmitter.emit (domain.js:482:12)
at Socket._onTimeout (net.js:478:8)
at listOnTimeout (internal/timers.js:549:17)
at processTimers (internal/timers.js:492:7) {
name: 'MongoNetworkError',
[Symbol(mongoErrorContextSymbol)]: {}
}
使用的先前存在的项目是从https://github.com/radgrad/radgrad2中克隆的。我在radgrad2 / app中添加了一个部署目录。在deploy目录中,有以下文件:
Dockerfile
FROM gcr.io/google_appengine/nodejs
RUN install_node {{ nodeVersion }}
RUN npm install npm@{{ npmVersion }}
RUN node -v
RUN npm -v
COPY . /app/
RUN (cd programs/server && npm install --unsafe-perm)
CMD node main.js
app.yml
runtime: custom
service: default
env: flex
threadsafe: true
zones:
- us-west3-b
- us-west3-c
resources:
cpu: 1
memory_gb: 1
disk_size_gb: 20
network:
session_affinity: true
automatic_scaling:
max_num_instances: 2
skip_files:
- ^(.*/)?\.dockerignore$
- ^(.*/)?\yarn-error.log$
- ^(.*/)?\.git$
- ^(.*/)?\.hg$
- ^(.*/)?\.svn$
settings.json
{
"public": {},
"private": {},
"meteor-google-cloud": {
"project": "radgrad2test",
"stop-previous-version": "",
"env_variables": {
"MONGO_URL": "mongodb://user:[email protected]",
"ROOT_URL": "https://example.de"
}
}
}
注意,我正在Windows 10 Home上使用WSL 2和Docker Desktop运行它。
[可能导致应用程序容器崩溃的原因是什么?我该如何解决此问题,或者应该在哪里找到此问题的根源?
MongoNetworkError:无法连接到服务器
这是在最新版的Meteor版本中具有just recently being fixed的错误:
在某些ScaleGrid和IBM Cloud等MongoDB主机提供程序中,某些开发人员由于证书而出现此错误
MongoNetworkError:首次连接时无法连接到服务器[sg-meteorappdb-32194.servers.mongodirector.com:27017] [Error:自签名证书
因此,为了解决这个问题,现在有了通过流星[C0]文件配置Mongo选项的选项。现在是settings.json
:
added to the documentation