堆栈信息:
BE :NodeJS应用程序,MongoDB
FE :AngularJS应用
用例: 我正在与MongoDB一起在AWS ECS上部署BE(NodeJS)应用程序。有一个任务定义(AWS),其中两个容器都应附加在一起,以便Mongo容器可以链接到NodeJS容器。 Mongo容器来自Docker Hub注册表 registry.hub.docker.com/library/mongo:latest
请注意,我还订阅了容器的CloudWatch Logs。
我还提供了MONGO_INITDB_ROOT_PASSWORD和MONGO_INITDB_ROOT_USERNAME作为新的用户环境变量。
问题: 服务启动NodeJS容器后,它就会因以下错误而失败。
2019-05-28T14:15:23.208 + 0000我控制[main]错误:无法将pid文件写入/tmp/docker-entrypoint-temp-mongod.pid:未知错误
结果: 结果,mongo无法启动,NodeJS应用无法在数据库上运行。我希望在容器(ECS)中执行此db操作作为解决方案。
请在这里指导我在做什么错!!请帮助!
为什么它与this答案/问题不同: 因为在我的情况下,应用程序与MongoDB一起在容器环境中运行,而容器(节点容器)全部负责引导它或重新启动mongo服务。另外,我面临的错误是未知错误。
编辑: Dockerfile
FROM node:8-alpine
# Create app directory
WORKDIR /usr/src/app
# Install app dependencies
# A wildcard is used to ensure both package.json AND package-lock.json are copied
# where available (npm@5+)
COPY package*.json ./
RUN npm install
# RUN npm audit
# Bundle app source
#COPY . /usr/src/app
COPY . .
EXPOSE 9000
CMD [ "npm", "start" ]