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

Политик ФРГ Нимайер назвал санкции против России госпереворотом против ЕС

Для участников «Московского долголетия» организуют киноклуб

СМИ: Асад переправил тонны долларов и евро в Москву

Как в кино. В Москве стартовал фестиваль «Путешествие в Рождество»

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


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

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

СК возбудил дело после убийства женщины в квартире на севере Москвы

Сериал "Комбинация" на Первом канале: как бывший милиционер саратовских девчонок превратил в Russian girls

Ипотека под 100%: Замминистра финансов раскрывает ‘экстремальные практики’ банков

Политик ФРГ Нимайер назвал санкции против России госпереворотом против ЕС

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

Выставка о юных защитниках Родины откроется в Музее Победы

Валиева готова надеть корону: где в Москве пройдут лучшие новогодние спектакли и концерты

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

Беглов: Петербург выполняет поручения Путина по нацпроектам

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

Подросток попал в больницу после попытки залезть на электричку в Москве

Следователи ходатайствуют об аресте сбившей ребёнка на «Porsche» женщины

Асад вывез две тонны денег в Россию самолетом

Назван срок, когда в России возникнет дефицит новых ЖК

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

Часовые предприятия советской эпохи

Единственный официальный ремейк песни «Я Свободен» от солиста группы “Парк Горького” Сергея АРУТЮНОВА: одобрено Кипеловым

«Смотришь при муже — слюнки текут»: актер из Костромы снова взбудоражил поклонниц

7 лучших бассейнов с подогревом в Москве

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

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

Президент Федерации тенниса Италии сравнил Янника Синнера с Винус Уильямс

Арина Соболенко получила награду WTA за преданность делу и продвижение женского тенниса

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

Moscow.media

Город Гофмана

Bluetooth-сканер штрих-кодов SAOTRON P04 на базе CMOS-матрицы

Филиал № 4 ОСФР по Москве и Московской области информирует: В 2024 году Отделение СФР по Москве и Московской области назначило единое пособие родителям 370,5 тысячи детей

Беспроводной сканер штрих-кодов SAOTRON P05i промышленного класса











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

Rss.plus






Ипотека под 100%: Замминистра финансов раскрывает ‘экстремальные практики’ банков

СМИ: Асад переправил тонны долларов и евро в Москву

Багреева: на платформе лучших практик «Смартека» размещено 195 практик столицы

Калужане пробили шины на Киевке