fast-je
@fast-je
Пишу на php.

Как поднять node.js + mysql через docker-compose?

В чем проблема ?
При запуске docker-compose up --build
Выдает такую ошибку, я понимаю что проблема в команде COPY, но не понимаю что именно не так.
Building app
Step 1/6 : FROM node:11
 ---> 5b97b72da029
Step 2/6 : WORKDIR /src
 ---> Using cache
 ---> a33787f5ff60
Step 3/6 : COPY package*.json /src
ERROR: Service 'app' failed to build: COPY failed: no source files were specified


Структура
5e3994845b8ae451137625.png

файл docker/node/Dockerfile
FROM node:11
WORKDIR /src
COPY package*.json /src
RUN npm install mysql
COPY . .
CMD ["node", "index.js"]


Файл docker-compose.yml

version: '3.7'
services: 
    db: 
        image: mysql:5.7
        ports: 
            - 3306:3306
        expose: 
            - 3306
        environment:
            MYSQL_ROOT_PASSWORD: '${MYSQL_ROOT_PASSWORD}'
            MYSQL_DATABASE: '${MYSQL_DATABASE}'
            MYSQL_USER: '${MYSQL_USER}'
            MYSQL_PASSWORD: '${MYSQL_PASSWORD}'
    app: 
        build: ./docker/node/
        image: nodejs
        container_name: nodejs
        restart: unless-stopped
        environment: 
            MYSQL_HOST: '${MYSQL_HOST}'
            MYSQL_DATABASE: '${MYSQL_DATABASE}'
            MYSQL_USER: '${MYSQL_USER}'
            MYSQL_PASSWORD: '${MYSQL_PASSWORD}'
            MYSQL_PORT: 3306
        volumes: 
            - ./src:/src/
        ports: 
            - 3000:3000
        depends_on:
            - db
  • Вопрос задан
  • 1333 просмотра
Решения вопроса 1
gecube
@gecube
системный администратор, программист... все дела..
Build идет от текущего каталога. Файл с package в Dockerfile указан относительно каталога src
Это и есть ошибка
Вероятнее всего - проще всего решить ее добавить context: ./src в докер-компоуз
И очень рекомендую ознакомиться с понятием docker context
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы