Неверный файл компоновки Docker

Я новичок в докере, и я создал файл докеров, но у меня возникли трудности с моим файлом создания докеров. В настоящее время я получаю сообщение об ошибке services.web.ports должно быть списком. У меня есть файл node app.js, который обрабатывает запросы и печатает данные из базы данных, и файл index.js, который выглядит так.

"use strict";
console.info("entrypoint");
const app = require("./app/app.js");

Мой Dockerfile выглядит так:

FROM node:latest
WORKDIR /src
COPY package*.json /src/
RUN npm install
COPY . /src
EXPOSE 3000

А вот как выглядит мой текущий файл docker-compose

version: '3.3'
services:
  app:
    build:
      context: ./
    volumes:
      - .:/src
    ports:
      -"3000:3000"
    depends_on:
      - db
  db:
    image: mysql
    restart: always
    environment:
      MYSQL_ALLOW_EMPTY_PASSWORD: true
      MYSQL_DATABASE: world
      MYSQL_USER: root
      MYSQL_PASSWORD: null
    ports:
      - "3308:3306"
    volumes:
      - db:/var/lib/mysql

Я написал это на основе примера, и я знаю, что он ошибочен, и был бы признателен за любое руководство. Если бы я запускал файл app.js один через узел, он работал бы нормально, но я пытаюсь внедрить докер в свой проект и нуждаюсь в помощи.

Сообщение об ошибке пришло не из файла компоновки, который вы разместили.

BMitch 21.03.2022 13:22

Когда я пытаюсь запустить docker-compose up --build в своем терминале, он говорит, что services.app.ports должен быть списком, поэтому я предположил, что с файлом компоновки что-то не так.

sinisterfang 21.03.2022 13:24

Сообщение об ошибке в вашем вопросе было о services.web.ports. Ваш комментарий означает services.app.ports. В файле компоновки нет службы web.

BMitch 21.03.2022 13:28

Опечатка в вопросе опечатка в файле, большое спасибо

sinisterfang 21.03.2022 13:43
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Как создать PHP Image с нуля
Как создать PHP Image с нуля
Сегодня мы создадим PHP Image from Scratch для того, чтобы легко развернуть базовые PHP-приложения. Пожалуйста, имейте в виду, что это разработка для...
0
4
32
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Сервис для приложения имеет опечатку в разделе портов. Список представляет собой записи с отступом, перед которыми стоит - . В строке здесь отсутствует пробел:

    ports:
      -"3000:3000"

Исправьте это, добавив пробел:

    ports:
      - "3000:3000"

Другие вопросы по теме