Docker nodejs mongodb - PullRequest
       1

Docker nodejs mongodb

0 голосов
/ 20 января 2019

я буду докер мое приложение 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" ]

докер-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 голосов
/ 20 января 2019

Вы можете использовать инструкцию CMD вместо RUN.

Изменить эту строку:

RUN ["npm", "start"]

... на эту:

CMD ["npm", "start"]

Инструкция CMD запускается при запуске вашего контейнера.

Документы здесь: https://docs.docker.com/engine/reference/builder/#cmd

Надеюсь, это поможет.

0 голосов
/ 20 января 2019

Проверьте, что ваш Dockerfile "npm" отличается от “npm”, обратите внимание на двойные кавычки " и .Вы всегда должны использовать " (который вводится с клавиатуры), а не

, а затем выполнить следующую процедуру после очистки Dockerfile

docker-compose up --build
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...