Docker Node.js MongoDB数据库

时间:2019-01-20 16:36:06

标签: node.js mongodb docker dockerfile

我将泊坞程序我的应用程序js。我运行docker-compose命令。 但我有错误:应用| / bin / sh:1:[:“ npm” ,:意外的运算符。

Dockerfile

FROM node:latest 
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY package.json /usr/src/app/
RUN npm install
COPY . /usr/src/app
EXPOSE 3000
RUN ["npm", "start" ]

docker-compose.yml

version: "2"
services:
app:
  container_name: app
  restart: always
  build: .
  ports:
    - "3000:3000"
  links:
    - mongo
mongo:
  container_name: mongo
  image: mongo
  volumes:
    - ./data:/data/db
  ports:
    - "27017:27017"

2 个答案:

答案 0 :(得分:3)

仔细检查您的Dockerfile "npm"“npm”不同,请注意双引号"。你应该  始终使用"(从键盘输入)而不是

然后在清理Dockerfile之后运行以下命令

docker-compose up --build

答案 1 :(得分:0)

您可以使用CMD指令代替RUN

更改此行:

RUN ["npm", "start"]

...对此:

CMD ["npm", "start"]

容器启动时会触发CMD指令。

文档在这里: https://docs.docker.com/engine/reference/builder/#cmd

我希望这会有所帮助。