Добавить в корзинуПозвонить
Найти в Дзене

Упаковываем веб-приложение в Docker: пошаговый гайд

Упаковываем веб-приложение в Docker: пошаговый гайд 🐳 Docker позволяет создавать изолированные среды для приложений, гарантируя их стабильную работу на любой системе. Рассмотрим процесс контейнеризации простого веб-приложения. Шаг 1: Подготовка проекта 📂 Создайте директорию проекта с двумя файлами: • app.py — простой сервер на Python/Flask • requirements.txt — зависимости проекта Пример app.py: python from flask import Flask app = Flask(__name__) @app.route('/') def hello(): return 'Hello from Docker! 🐳' if __name__ == '__main__': app.run(host='0.0.0.0', port=5000) Шаг 2: Создаем Dockerfile 📝 Dockerfile — инструкция по сборке образа. Добавьте в проект файл с содержимым: dockerfile FROM python:3.9-alpine WORKDIR /app COPY requirements.txt . RUN pip install -r requirements.txt COPY . . EXPOSE 5000 CMD ["python", "app.py"] Шаг 3: Сборка образа 🔨 Выполните в терминале: bash docker build -t my-web-app . Команда создаст образ с тегом "my-web-app". Точка указывает на текущую дир

Упаковываем веб-приложение в Docker: пошаговый гайд 🐳

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

Шаг 1: Подготовка проекта 📂

Создайте директорию проекта с двумя файлами:

app.py — простой сервер на Python/Flask

• requirements.txt — зависимости проекта

Пример app.py:

python

from flask import Flask

app = Flask(__name__)

@app.route('/')

def hello():

return 'Hello from Docker! 🐳'

if __name__ == '__main__':

app.run(host='0.0.0.0', port=5000)

Шаг 2: Создаем Dockerfile 📝

Dockerfile — инструкция по сборке образа. Добавьте в проект файл с содержимым:

dockerfile

FROM python:3.9-alpine

WORKDIR /app

COPY requirements.txt .

RUN pip install -r requirements.txt

COPY . .

EXPOSE 5000

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

Шаг 3: Сборка образа 🔨

Выполните в терминале:

bash

docker build -t my-web-app .

Команда создаст образ с тегом "my-web-app". Точка указывает на текущую директорию.

Шаг 4: Запуск контейнера 🚀

bash

docker run -p 5000:5000 my-web-app

Флаг -p связывает порт контейнера (5000) с портом хоста (5000).

Проверьте результат: откройте http://localhost:5000 в браузере — увидите приветствие от контейнера! ✅

Преимущества подхода:

• Изоляция зависимостей 🔒

• Переносимость между системами 📦

• Простое масштабирование 📈

• Единая среда разработки и продакшна ⚙️

Для продвинутых сценариев можно добавить:

• Многоступенчатую сборку

• Docker Compose для оркестрации

• Интеграцию с CI/CD

Docker существенно упрощает жизненный цикл приложения — от разработки до развертывания. Освоив базовые принципы, вы сможете контейнеризировать проекты любой сложности! 💪

Для углубленного изучения DevOps-практик и контейнеризации рекомендую ознакомиться с образовательными программами: https://cdpo.itmo.ru/