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

Эрдоган хочет присоединить к Турции пять сирийских городов

Что происходит в Грузии после выборов президента

Блинкен: власти США поддерживают прямые контакты с ХТШ* в Сирии

МВД пресекло деятельность теневых банкиров за продвижение P2P-процессинга



«Мировое обозрение»


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

Новости от 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

В центре Москвы на улице Тимура Фрунзе восстановили движение транспорта

Скончался писатель Леонид Зиман

Из Архангельска в Кисловодск: стартовал первый рейс поезда

Будет ли принят законопроект о бесплатном пользовании парковками для ветеранов боевых действий

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

Глава ФЛГР Вяльбе о Сметаниной: в Москву ее транспортировать не будут

Экс-игрок Ловчев о "Спартаке": и смотреть приятно, и голов много забивают

Папин может: как наш боец нокаутировал экс-звезду UFC Харди

Купить качественный частотный преобразователь в России

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

Первый рейс по программе «мокрого лизинга» вылетел из Москвы в Хабаровск

Гоша Куценко мог сняться у Тарантино: «Квентин рассказал о „Бесславных ублюдках“, там должен был быть русский»

Будет ли принят законопроект о бесплатном пользовании парковками для ветеранов боевых действий

Посол Бахрейна оценил перспективы приезда Путина в королевство

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

5 способов, как сделать освещение умным

Международный конкурс искусства «Сокровища нации» 2024

Балаган года

Может ли форма живота рассказать что-то о здоровье

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

Екатерина Александрова уступила в первом круге турнира WTA-125 в Лиможе

Полина Кудерметова проиграла в первом круге турнира WTA-125 в Лиможе

Мпетши Перрикар получил награду ATP «Прогресс года»

Рафаэль Надаль получил трофей, включающий все 92 титула, выигранных им за карьеру

Moscow.media

• Dusil Photography • https://dusil.org

Утвержден обвинительный акт в отношении жителя Санкт-Петербурга обвиняемого в контрабанде в Литовскую Республику культурных ценностей – черепа вымершего животного

Повреждение нефтебазы после ночной атаки беспилотников не повлияло на запасы бензина на орловских заправках

BelkaCar и МТС Premium увеличили кэшбэк на поездки в приложении каршеринга











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

Rss.plus






Цены на элитную недвижимость в Москве выросли более чем на 25%

Первый рейс по программе «мокрого лизинга» вылетел из Москвы в Хабаровск

В Москве состоится вручение премии зрительских симпатий "Звезда театрала"

Будет ли принят законопроект о бесплатном пользовании парковками для ветеранов боевых действий