Введение

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

Предварительные требования: перед погружением в Docker рекомендуется иметь общее представление о Python и использовании интерфейса командной строки (CLI).

Монтаж:

Для начала вам нужно установить Docker на свой компьютер. Docker предоставляет простые инструкции по установке для различных операционных систем на своем веб-сайте (https://www.docker.com/).

Концепции докера:

  1. Образы: образы Docker — это шаблоны, доступные только для чтения, которые определяют среду и зависимости, необходимые для запуска приложения.
  2. Контейнеры: Контейнеры — это экземпляры образов Docker, которые можно создавать, запускать, останавливать и удалять. Каждый контейнер изолирован и работает как независимый процесс.

Начало работы с Докером:

Начнем с запуска простого скрипта Python внутри контейнера Docker. Создайте новый каталог для своего проекта и перейдите к нему с помощью командной строки.

Шаг 1: Создайте скрипт Python Создайте файл с именем «hello.py» и добавьте следующий код:

print("Hello, Docker!")

Шаг 2: Затем создайте файл с именем «Dockerfile» (без расширения файла) в том же каталоге. Dockerfile определяет шаги по созданию образа Docker. Добавьте в Dockerfile следующий код:

# Use an official Python runtime as the base image
FROM python:3.9

# Set the working directory inside the container
WORKDIR /app

# Copy the current directory contents into the container at /app
COPY . /app

# Install the dependencies
RUN pip install --no-cache-dir -r requirements.txt

# Run the Python script
CMD ["python", "hello.py"]

Шаг 3. Сборка образа Docker Чтобы создать образ Docker, выполните следующую команду в каталоге проекта:

docker build -t my-python-app

Шаг 4: Запустите контейнер Docker Теперь давайте запустим контейнер Docker на основе только что созданного нами образа:

docker run my-python-app

Вы должны увидеть вывод: «Привет, Докер!»

Поздравляем! Вы успешно запустили скрипт Python внутри контейнера Docker.

Дополнительные советы и рекомендации:

Монтажные объемы:

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

  • docker run -v /path/to/local/directory:/app my-python-app

Использование Docker Compose:

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

Вот пример файла docker-compose.yml для запуска нашего приложения Python:

version: '3'
services:
  myapp:
    build:
      context: .
      dockerfile: Dockerfile
    volumes:
      - .:/app

Чтобы запустить приложение с помощью Docker Compose, выполните следующую команду:

  • docker-compose up

Заключение:

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

Docker открывает мир возможностей для разработчиков Python, позволяя им создавать переносимые и согласованные среды, упрощая рабочие процессы развертывания и более эффективно сотрудничая с членами команды. Это помогает устранить проблему «это работает на моей машине», предоставляя стандартизированную среду для запуска приложений.

Повышение уровня кодирования

Спасибо, что являетесь частью нашего сообщества! Перед тем, как ты уйдешь:

  • 👏 Хлопайте за историю и подписывайтесь на автора 👉
  • 📰 Смотрите больше контента в публикации Level Up Coding
  • 💰 Бесплатный курс собеседования по программированию ⇒ Просмотреть курс
  • 🔔 Подписывайтесь на нас: Twitter | ЛинкедИн | "Новостная рассылка"

🚀👉 Присоединяйтесь к коллективу талантов Level Up и найдите прекрасную работу