docker-compose.yml выпускает nodejs и mysql

0

Я пытаюсь докровать мой nodeJS api. Проверьте следующие файлы:

.\package.json

{
  "name": "test-api",
  "version": "1.0.0",
  "description": "TBD",
  "scripts": {
    "start": "node ./bin/www"
  },
  "keywords": [
    "test",
    "API"
  ],
  "author": "test",
  "dependencies": {
    "bcrypt": "^2.0.1",
    "bcrypt-promise": "^2.0.0",
    "body-parser": "^1.18.3",
    "debug": "^3.1.0",
    "dotenv": "^6.0.0",
    "express": "^4.16.3",
    "jsonwebtoken": "^8.3.0",
    "morgan": "^1.9.0",
    "multer": "^1.3.1",
    "mysql2": "^1.5.3",
    "nodemailer": "^4.6.7",
    "parse-error": "^0.2.0",
    "passport": "^0.4.0",
    "passport-jwt": "^4.0.0",
    "sequelize": "^4.37.10",
    "validator": "^10.4.0"
  }
}

.\докер-compose.yml

version: '2'
services:
  api:
    build: .
    ports:
     - "4200:4200"
    depends_on:
     - db
    environment:
     - DATABASE_HOST=db
    volumes:
     - .:/usr/src/app
     - /usr/src/app/node_modules
  db:
    build: ./db

.\Dockerfile

FROM node:8
WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 4200
CMD [ "npm", "start" ]

.\DB\Dockerfile

FROM mysql:latest

ENV MYSQL_ROOT_PASSWORD root  
ENV MYSQL_DATABASE test_dev  
ENV MYSQL_USER test-dev  
ENV MYSQL_PASSWORD testapi

Я получаю следующую ошибку, когда я делаю "докеры-компоновки" - Изображение 174551

Я новичок в этом, решение для решения этой проблемы и несколько указателей на то, что исследование больше поможет мне!

  • 0
    Что ты уже пробовал? Какой файл вы ожидаете найти в /usr/src/app/package.json и как он туда попал?
  • 0
    @DavidMaze Я вставил код в соответствии с этим nodejs.org/en/docs/guides/nodejs-docker-webapp WORKDIR / usr / src / app -> теперь это будет pwd в пакете COPY * .json. / -> файл будет скопирован из ./ в pwd
Показать ещё 5 комментариев
Теги:
docker
docker-compose
dockerfile

1 ответ

0

Попробуйте этот файл Docker (избегайте COPY *), и я рекомендую использовать абсолютный путь в пункте назначения:

.\Dockerfile

FROM node:8
COPY package.json /usr/src/app
WORKDIR /usr/src/app
RUN npm install
COPY . .
EXPOSE 4200
CMD [ "npm", "start" ]
  • 0
    удалил все изображения, прежде чем я сделал "docker-compose up" и все еще получил ошибку imgur.com/obkKeTH
  • 0
    Мне нужен package.json для имитации именно вашего случая
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню