Это руководство проведёт вас через процесс контейнеризации приложения с использованием Docker. Вы напишете Dockerfile, соберёте образ, запустите его как контейнер и, при желании, отправите в Docker Hub.
Шаг 1: Создание Dockerfile
В корне вашего проекта создайте файл с именем (без расширения).Dockerfile
Пример (приложение на Python Flask):
# Базовый образ FROM python:3.10-slim # Установка рабочей директории WORKDIR /app # Копирование всех файлов проекта COPY . . # Установка зависимостей RUN pip install --no-cache-dir -r requirements.txt # Открытие порта приложения EXPOSE 5000 # Команда для запуска приложения CMD ["python", "app.py"] Для других языков, таких как Node.js или Java, измените базовый образ и команды.
Шаг 2: Сборка Docker-образа
Откройте терминал, перейдите в директорию вашего проекта и выполните:
docker build -t my-app-image . -
-t my-app-image: Присваивает образу тег для удобства обращения. -
.: Указывает на текущую директорию, содержащую Dockerfile.
Шаг 3: Запуск Docker-контейнера
docker run -d -p 5000:5000 --name my-app-container my-app-image -
-d: Запуск в фоновом режиме (detached). -
-p 5000:5000: Сопоставляет порт хоста с портом контейнера. -
--name: Присваивает контейнеру пользовательское имя.
Шаг 4: Проверка контейнера
Чтобы убедиться, что он работает:
docker ps Получите доступ к вашему приложению, перейдя по адресу:
http://localhost:5000 (Опционально) Шаг 5: Остановка и удаление
Остановите контейнер:
docker stop my-app-container Удалите контейнер:
docker rm my-app-container Удалите образ:
docker rmi my-app-image (Опционально) Шаг 6: Отправка в Docker Hub
-
Войдите в Docker:
docker login -
Пометьте образ:
docker tag my-app-image yourusername/my-app-image -
Отправьте образ:
docker push yourusername/my-app-image
Теперь вы можете загрузить этот образ где угодно с помощью:
docker pull yourusername/my-app-image Заключение
Используя Docker, вы упаковали своё приложение в лёгкий, переносимый контейнер, который работает одинаково в разных средах. Независимо от того, развёртываете ли вы локально, на промежуточной или производственной среде, Docker гарантирует, что ваше приложение ведёт себя одинаково везде. Этот подход упрощает разработку, тестирование и развёртывание, делая ваши рабочие процессы быстрее и надёжнее.
Поиск