Как передать 2 проекта в docker?

Для передачи двух проектов в Docker вам понадобится создать отдельные контейнеры для каждого проекта и затем объединить их в один докер-композ файл.

Вот пошаговое руководство, как это сделать:

Шаг 1: Создайте Dockerfile для каждого проекта
Сначала вам нужно создать отдельные Dockerfile для каждого проекта. Dockerfile - это файл, в котором описываются инструкции для создания Docker-образа. Вам нужно указать базовый образ, установить зависимости и скопировать файлы проекта в образ.

Пример Dockerfile для первого проекта (назовем его ProjectA):

# Используйте базовый образ Node.js
FROM node:14

# Установить зависимости
COPY package*.json ./
RUN npm install

# Копирование файлов проекта
COPY . .

# Установить команду запуска
CMD ["npm", "start"]

Пример Dockerfile для второго проекта (назовем его ProjectB):

# Используйте базовый образ Node.js
FROM node:14

# Установить зависимости
COPY package*.json ./
RUN npm install

# Копирование файлов проекта
COPY . .

# Установить команду запуска
CMD ["npm", "start"]

Шаг 2: Создайте docker-compose.yml файл
Следующий шаг - создать docker-compose.yml файл, который будет описывать настройки и связи между контейнерами. Docker Compose предоставляет возможность запускать несколько контейнеров одновременно.

Ниже приведен пример docker-compose.yml файла для объединения ProjectA и ProjectB:

version: '3'

services:
  projectA:
    build:
      context: .
      dockerfile: DockerfileProjectA
    ports:
      - '3000:3000'
    depends_on:
      - projectB

  projectB:
    build:
      context: .
      dockerfile: DockerfileProjectB
    ports:
      - '4000:4000'

Здесь мы создаем две службы (контейнера) - projectA и projectB. Блок build определяет контекст сборки (текущая директория) и Dockerfile для каждой службы. Порты определяют, какие порты контейнера должны быть доступны извне.

Примечание: docker-compose.yml файл и Dockerfile для каждого проекта должны лежать в одной директории.

Шаг 3: Соберите и запустите контейнеры
Окей, теперь, когда у вас есть Dockerfile и docker-compose.yml файлы, вы можете собрать и запустить контейнеры. Откройте терминал и перейдите в директорию, где лежат эти файлы.

Затем выполните следующую команду:

docker-compose up

Эта команда создаст и запустит контейнеры. Вы увидите вывод в терминале, который покажет, что контейнеры запущены и службы доступны по указанным портам.

Шаг 4: Проверьте работу проектов
Теперь вы можете проверить, работают ли ваши проекты, открыв веб-браузер и перейдя по адресам:

- http://localhost:3000 - для ProjectA
- http://localhost:4000 - для ProjectB

Вы должны увидеть соответствующие веб-страницы и приложения, работающие в контейнерах Docker.

Вот и всё! Теперь вы знаете, как передать два проекта в Docker, используя отдельные контейнеры. Это позволяет вам упаковывать и запускать ваши приложения в изолированной среде, где они могут быть развернуты и масштабированы легко и надежно.