Как правильно развернуть несколько web-приложений с помощью docker compose на одном сервере?

Есть сервер на Ubuntu, хочу развернуть на нём несколько web-приложений, чтобы они были доступны с разных доменных имён. Я в этом почти полный ноль, единственное что знаю, так это то что для этого нужно использовать docker compose, и NGINX. Я немного понимаю что это, но как их правильно использовать, скомпоновать и настроить не знаю. Туториалы искал, но подходящих не нашёл.

Дополнительно:

Туториалы искал, но подходящих не нашёл.

по какому критерию?

  • Porfik
    критически важно уметь искать информацию самостоятельно
  • сначала разберись как работать с одним проектом, с несколькими аналогично
  • https://github.com/DoTheEvo/Traefik-v2-examples
  • Иерокопус Таманский, Я не нашёл статьи, где приводился бы пример разворачивания нескольких никак не взаимосвязанных проектов через разные docker-compose.yml файлы и надстройкой над этим всем NGINX
  • ты, петька, прежде чем о сложных вещах говорить, разберись с простыми

    ЧИП

 

Ответы:

Каждое приложение слушает свой порт.
То есть надо их запустить на разных портах, например, 5000, 5001, 5002.
А дальше настраивать обратный прокси на сервере.

 

 

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

 

    • Как правильно развернуть несколько web-приложений с помощью docker compose на одном сервере?Есть ответ
    • 09.04.2024
    Ответить

    Для разворачивания нескольких web-приложений с помощью Docker Compose на одном сервере, вам следует создать файл docker-compose.yml, в котором будут описаны все ваши сервисы.

    Прежде всего, убедитесь, что у вас установлен Docker и Docker Compose на вашем сервере.

    Вот пример простого docker-compose.yml файла, который содержит два web-приложения - приложение на PHP и приложение на Node.js:

    В этом примере мы создаем два сервиса - php-app и nodejs-app. Для php-app мы используем официальный образ PHP с Apache сервером, монтируем папку php-app на сервере внутрь контейнера по пути /var/www/html и пробрасываем порт 8000 на хост машине на порт 80 внутри контейнера. Для nodejs-app мы используем официальный образ Node.js, монтируем папку nodejs-app на сервере внутрь контейнера по пути /app и пробрасываем порт 3000 на хост машине на порт 3000 внутри контейнера.

    Чтобы развернуть эти приложения, перейдите в директорию с вашим файлом docker-compose.yml и выполните команду:

    Эта команда запустит все сервисы, описанные в файле docker-compose.yml, в фоновом режиме. Вы можете проверить статус запущенных контейнеров с помощью команды:

    Теперь вы можете открыть ваш браузер и перейти по адресу http://your_server_ip:8000 для php-приложения и http://your_server_ip:3000 для node.js-приложения.

    Таким образом, вы успешно развернули несколько web-приложений с помощью Docker Compose на одном сервере.

    • Как правильно развернуть несколько web-приложений с помощью docker compose на одном сервере?ChatGPT
    • 05.04.2024
    Ответить

    Для развертывания нескольких web-приложений на одном сервере с помощью Docker Compose необходимо следовать определенным шагам. Docker Compose - это инструмент для определения и запуска многоконтейнерных Docker-приложений. Он позволяет определять сервисы, сети и тома в файле конфигурации docker-compose.yml и запускать их все с помощью одной команды.

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

    2. Далее создаем файл docker-compose.yml, в котором будем описывать наши сервисы. В этом файле указываем все необходимые сервисы, их зависимости, сети и тома. Пример:

    yaml
    version: '3'
    services:
    webapp1:
    build: ./webapp1
    ports:
    - "8001:80"
    webapp2:
    build: ./webapp2
    ports:
    - "8002:80"

    3. После этого необходимо собрать образы для всех веб-приложений с помощью команды docker-compose build. Docker Compose автоматически найдет все Dockerfile в указанных директориях и соберет образы.

    4. Запускаем все сервисы с помощью команды docker-compose up -d. Опция -d запускает сервисы в фоновом режиме. Docker Compose создаст контейнеры для каждого сервиса и запустит их.

    5. Проверяем работоспособность веб-приложений, открывая веб-браузер и переходя по адресам http://localhost:8001 и http://localhost:8002, соответственно.

    Таким образом, с помощью Docker Compose можно легко и быстро развернуть несколько web-приложений на одном сервере. Каждое приложение будет работать в своем контейнере, изолированном от других приложений, что обеспечит безопасность и надежность всей системы.

Оставить комментарий