TGViewer
DevOps 360° DevOps 360° @devops360 · 326 subscribers
Post #110 136
## Создание двух Docker Compose приложений в одной сети 🌐

В этом руководстве мы рассмотрим, как создать два разных приложения с помощью Docker Compose, которые будут объединены в одну сеть. Это позволит им взаимодействовать друг с другом, что особенно полезно для микросервисных архитектур. Мы создадим одно приложение на Flask и другое на Node.js, а затем запустим их в одной сети. Готовы? Давайте начнем! 🚀

### Шаг 1: Создание структуры проекта 📁

Сначала создадим необходимую структуру каталогов. Откройте терминал и выполните следующие команды:

mkdir my_project
cd my_project
mkdir flask_app node_app


Теперь у вас есть папка my_project с двумя подкаталогами: flask_app для Flask-приложения и node_app для Node.js.

### Шаг 2: Настройка Flask-приложения 🐍

В каталоге flask_app создайте файл app.py и добавьте следующий код:

from flask import Flask
import requests

app = Flask(__name__)

@app.route('/')
def home():
response = requests.get('http://node_app:3000')
return f'Flask app says: {response.text}'

if __name__ == '__main__':
app.run(host='0.0.0.0')


Здесь Flask-приложение делает запрос к Node.js-приложению, которое мы создадим позже.

Теперь создайте файл requirements.txt и добавьте туда следующие зависимости:

Flask
requests


Создайте файл Dockerfile с таким содержимым:

FROM python:3.9

WORKDIR /app

COPY requirements.txt .

RUN pip install -r requirements.txt

COPY . .

CMD ["python", "app.py"]


### Шаг 3: Настройка Node.js-приложения 🔄

Теперь давайте перейдем в каталог node_app и создадим файл index.js с следующим кодом:

const express = require('express');
const app = express();
const port = 3000;

app.get('/', (req, res) => {
res.send('Node.js app is up and running! 🎉');
});

app.listen(port, () => {
console.log(`Node.js app listening at http://localhost:${port}`);
});


Теперь создайте файл package.json:

{
"name": "node_app",
"version": "1.0.0",
"main": "index.js",
"dependencies": {
"express": "^4.17.1"
}
}


Не забудьте также создать файл Dockerfile с таким содержимым:

FROM node:14

WORKDIR /app

COPY package*.json ./

RUN npm install

COPY . .

CMD ["node", "index.js"]


### Шаг 4: Создание Docker Compose файла 📝

Теперь мы готовы создать файл docker-compose.yml в корне вашего проекта my_project. Добавьте следующий код:

version: '3.8'

services:
flask_app:
build: ./flask_app
ports:
- "5000:5000"
networks:
- my_network

node_app:
build: ./node_app
ports:
- "3000:3000"
networks:
- my_network

networks:
my_network:


### Шаг 5: Запуск приложений 🚀

Теперь, когда все настроено, вы можете запустить приложения. В терминале, находясь в каталоге my_project, выполните команду:

docker-compose up --build


Эта команда соберет ваши образы и поднимет контейнеры. Теперь вы сможете зайти в браузер и открыть адрес http://localhost:5000. Вы увидите, что Flask-приложение успешно взаимодействует с Node.js-приложением и выводит сообщение, отправленное от него.

### Заключение 🎊

Поздравляю! Вы успешно настроили два разных приложения с помощью Docker Compose, которые работают в одной сети. Это дает вам возможность развивать свои проекты, используя микросервисный подход, где каждое приложение может работать независимо и при этом взаимодействовать друг с другом по сети. Теперь вы можете продолжать экспериментировать и развивать свои приложения дальше!
🤗 Наш чат для обсуждений |🔝 Буст для канала

✋Поддержи канал и автора миской супа и на развитие мерча!
  • 👍 3
More from @devops360
  1. Sep 28, 2026🔥 УРА, НОВОСТНЫЕ НОВОСТИ! (МНОГО БУКВ) 🔥 В современном IT процветает какой-то безумный к…
  2. Jul 20, 2026ПРИВЕТ! КРЧ если вкратце, то думаю через пару лет будем переходить с ямл инженеров и полно…
  3. May 21, 2026ХЕЛОУ! 🚀 Ingress NGINX — ВСЁ. Почему пора переезжать на Gateway API Главный сетевой контр…
  4. Jan 20, 2026ХЕЛЛОУ ГАЙЗ! смотрите какую интересную штуку мне подсказали , можно проверить свои знания…
  5. Nov 21, 2025Хелоу! Ingress NGINX уходит: что важно знать Kubernetes объявил о завершении поддержки Ing…
  6. Nov 14, 2025Всех с пятницей! Накидал доку как для себя так и для общего пользования по накатке бекапа…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →