Добавить новость

Начался отбор участников для исследования онколитической вакцины «ЭнтероМикс»

Картаполов предупредил о возмездии за гибель генерала Кириллова

Еще 5 семей в Можайске переехали из аварийного жилья в новые квартиры

Алсу отменила концерт в Москве из-за проблем со здоровьем



Новости сегодня

Новости от TheMoneytizer

Использование Docker для разработки и тестирования приложений  Использование Docker для разработки и тестирования приложений

Использование Docker для разработки и тестирования приложений

Введение

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

Что такое Docker?

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

Основные компоненты Docker

  1. Docker Engine: Основной компонент, который управляет контейнерами.
  2. Docker Hub: Облачное хранилище для Docker-образов.
  3. Docker Compose: Инструмент для управления многоконтейнерными приложениями.
  4. Dockerfile: Текстовый факт, содержащий инструкции по сборке Docker-образа.

Установка Docker

Прежде чем начать использовать Docker, его нужно установить на ваш компьютер. Процесс установки зависит от операционной системы.

Установка на Windows

  1. Перейдите на официальный сайт Docker: Docker Desktop for Windows.
  2. Скачайте и установите Docker Desktop.
  3. Следуйте инструкциям мастера установки.

Установка на macOS

  1. Перейдите на официальный сайт Docker: Docker Desktop for Mac.
  2. Скачайте и установите Docker Desktop.
  3. Следуйте инструкциям мастера установки.

Установка на Linux

  1. Откройте терминал.
  2. Установите необходимые пакеты:
    sudo apt-get update sudo apt-get install ca-certificates curl gnupg lsb-release
  3. Добавьте официальный GPG-ключ Docker:
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
  4. Настройте репозиторий Docker:
    echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  5. Установите Docker Engine:
    sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io

Основные команды Docker

После установки Docker, давайте рассмотрим основные команды, которые помогут вам начать работу.

Проверка установки

Проверьте, что Docker установлен и работает:

docker --version

Запуск контейнера

Запустите контейнер с образом hello-world:

docker run hello-world

Эта команда скачает образ hello-world из Docker Hub и запустит его. Вы увидите сообщение "Hello from Docker!".

Список контейнеров

Посмотрите список всех запущенных контейнеров:

docker ps

Остановка контейнера

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

docker stop <container_id>

Удаление контейнера

Удалите контейнер:

docker rm <container_id>

Создание Docker-образа

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

Пример Dockerfile

Создадим простой Dockerfile для Python-приложения.

  1. Создайте файл Dockerfile в корне вашего проекта.
  2. Добавьте следующие строки:
    # Используем официальный образ Python FROM python:3.9-slim # Устанавливаем рабочую директорию WORKDIR /app # Копируем текущую директорию в контейнер COPY . /app # Устанавливаем зависимости RUN pip install --no-cache-dir -r requirements.txt # Указываем команду для запуска приложения CMD ["python", "app.py"]

Сборка образа

Соберите образ из Dockerfile:

docker build -t my-python-app .

Запуск контейнера из образа

Запустите контейнер из созданного образа:

docker run -d -p 5000:5000 my-python-app

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

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

Пример docker-compose.yml

Создадим файл docker-compose.yml для приложения, состоящего из веб-сервера и базы данных.

  1. Создайте файл docker-compose.yml в корне вашего проекта.
  2. Добавьте следующие строки:
    version: '3' services: web: build: . ports: - "5000:5000" depends_on: - db db: image: postgres:13 environment: POSTGRES_USER: user POSTGRES_PASSWORD: password POSTGRES_DB: mydatabase

Запуск Docker Compose

Запустите все сервисы, определенные в docker-compose.yml:

docker-compose up

Остановка Docker Compose

Остановите все сервисы:

docker-compose down

Примеры использования Docker в реальных проектах

Пример 1: Разработка веб-приложения

Представьте, что вы разрабатываете веб-приложение на Node.js. Вам нужно убедиться, что приложение работает одинаково на всех машинах разработчиков и в продакшн-среде.

  1. Создайте Dockerfile:
    FROM node:14 WORKDIR /app COPY package*.json ./ RUN npm install COPY . . EXPOSE 3000 CMD ["node", "server.js"]
  2. Создайте docker-compose.yml:
    version: '3' services: web: build: . ports: - "3000:3000"
  3. Запустите приложение:
    docker-compose up

Пример 2: Тестирование микросервисов

Представьте, что у вас есть микросервисная архитектура с несколькими сервисами, которые взаимодействуют друг с другом. Вам нужно протестировать их взаимодействие.

  1. Создайте docker-compose.yml:
    version: '3' services: service1: build: ./service1 ports: - "5001:5001" service2: build: ./service2 ports: - "5002:5002" service3: build: ./service3 ports: - "5003:5003"
  2. Запустите все сервисы:
    docker-compose up
  3. Проведите тестирование взаимодействия между сервисами.

Заключение

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

Читайте на 123ru.net


Новости 24/7 DirectAdvert - доход для вашего сайта



Частные объявления в Вашем городе, в Вашем регионе и в России



Smi24.net — ежеминутные новости с ежедневным архивом. Только у нас — все главные новости дня без политической цензуры. "123 Новости" — абсолютно все точки зрения, трезвая аналитика, цивилизованные споры и обсуждения без взаимных обвинений и оскорблений. Помните, что не у всех точка зрения совпадает с Вашей. Уважайте мнение других, даже если Вы отстаиваете свой взгляд и свою позицию. Smi24.net — облегчённая версия старейшего обозревателя новостей 123ru.net. Мы не навязываем Вам своё видение, мы даём Вам срез событий дня без цензуры и без купюр. Новости, какие они есть —онлайн с поминутным архивом по всем городам и регионам России, Украины, Белоруссии и Абхазии. Smi24.net — живые новости в живом эфире! Быстрый поиск от Smi24.net — это не только возможность первым узнать, но и преимущество сообщить срочные новости мгновенно на любом языке мира и быть услышанным тут же. В любую минуту Вы можете добавить свою новость - здесь.




Новости от наших партнёров в Вашем городе

Ria.city

Собянин: Метродепо «Южное» будет объединено с действующим депо «Братеево»

Правила проведения шумных работ в новостройках: всё, что нужно знать

Алсу отменила концерт в Москве из-за проблем со здоровьем

Представлены данные об имуществе Тиммы и Седоковой

Музыкальные новости

EVITA BEAUTY STORE - интернет-магазин косметики премиум-класса!

LG ПРЕДСТАВИТ РЕШЕНИ НА БАЗЕ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА ДЛЯ САЛОНА АВТОМОБИЛЯ НА ВЫСТАВКЕ CES 2025

Тарифная война Трампа с Китаем может уполовинить резервы России в юанях

Серебро Большунова, доминирование Сливко и провал Бажина: чем завершились третьи этапы КР по лыжным гонкам и биатлону

Новости России

Правила проведения шумных работ в новостройках: всё, что нужно знать

Еще 5 семей в Можайске переехали из аварийного жилья в новые квартиры

Взрыв на Рязанском проспекте: 200 граммов тротила в Москве

В Красноярске получили награды победители всероссийского конкурса лучших товаров

Экология в России и мире

Встречаем Новый год в «Тропикана Парк»

Сеть клиник «Будь Здоров» стала лауреатом ежегодной премии «Выбор пациентов – 2024» сервиса «НаПоправку»

Беспроцентная рассрочка с ежемесячным платежом от 65 000 рублей запущена в жилом комплексе City Bay

Открыть Ямал и влюбиться

Спорт в России и мире

Маннарино: руководство хорошо постаралось, чтобы выставить Синнера и Свёнтек жертвами в допинг-делах

Елена Рыбакина начала подготовку к сезону с новым тренером. Фото

Вероника Кудерметова поднялась на одну строчку в рейтинге WTA

Ник Кирьос и Новак Джокович сыграют в парном разряде на турнире ATP-250 в Брисбене

Moscow.media

Вид на Эльбрус.

Потусторонний Крым

Терминал сбора данных (ТСД) промышленного класса SAOTRON RT42G

Терминал сбора данных (ТСД) промышленного класса SAOTRON RT42G











Топ новостей на этот час

Rss.plus






Кузбассовцам назвали необычные вакансии для сотрудников служб доставки

Картаполов предупредил о возмездии за гибель генерала Кириллова

Как защитить дом или дачу от пожара: 3 правила, которыми не стоит пренебрегать

Педагог из Лобни победил на всероссийском конкурсе учителей истории