Похожие презентации:
през1-pp
1.
2.
Что такое контейнеризация?Контейнеризация — это метод упаковки
приложения и всех его зависимостей
(библиотеки, конфигурации, настройки) в
единый контейнер, который можно
переносить между различными средами.
Контейнеры изолируют приложения от
операционной системы хост-машины,
позволяя запускать их в разных
окружениях с одинаковым поведением.
3.
Проблемы традиционного подхода кразвертыванию приложений
Проблемы с совместимостью: различия в ОС,
библиотеках и конфигурациях.
Ошибки при развертывании: "Работает у меня,
но не работает на сервере".
Сложность масштабирования и обновления
приложения.
4.
Что такое Docker?Docker — это платформа для разработки, доставки и запуска
приложений в контейнерах.
Он позволяет упаковывать приложения и их зависимости в
стандартные единицы (контейнеры), которые можно легко
развертывать и масштабировать на любых серверных
инфраструктурах.
5.
Преимуществаиспользования Docker
Портативность: Контейнеры можно запускать в
любых средах (локально, в облаке, на сервере).
Изоляция: Каждый контейнер работает независимо,
что позволяет избежать конфликтов между
приложениями.
Масштабируемость: Легко масштабировать
приложение в различных средах.
Быстрая настройка и развертывание: Один образ
— и готово.
6.
Что входит в составDocker?
Docker Engine — основной компонент, который управляет контейнерами.
Docker Images — образ, из которого создаются контейнеры. Это шаблон с
приложением и его зависимостями.
Docker Containers — изолированные экземпляры приложения, запущенные на
основе образов.
Docker Hub — публичный реестр Docker-образов для хранения и обмена
образами.
7.
Где применяется Docker?Разработка и тестирование: Легкое создание изолированных сред для
разработки.
Микросервисы: Каждый микросервис может быть помещен в отдельный
контейнер.
Облачные сервисы: Легкость масштабирования и управления инфраструктурой
в облаке.
8.
Как Docker работает?Docker использует ядро операционной системы для изоляции контейнеров.
Контейнеры используют cgroups и namespaces для изоляции ресурсов.
Образы Docker создаются на основе слоев, что делает их легкими и быстрыми
для распространения и обновления.
9.
Архитектура DockerDocker состоит из нескольких компонентов, включая Docker Engine, Docker CLI
(Command Line Interface) и Docker Daemon.
Docker работает на основе клиент-серверной архитектуры:
Docker CLI (клиент) — отправляет команды Docker Daemon.
Docker Daemon (сервер) управляет контейнерами и образами.
10.
Docker в CI/CDDocker помогает автоматизировать процессы Continuous Integration и
Continuous Deployment.
Использование контейнеров позволяет гарантировать, что приложение будет
работать одинаково в любой среде.
11.
Что такое Dockerfile?Dockerfile — это текстовый файл, содержащий инструкции для сборки Dockerобраза.
Команды в Dockerfile описывают, как собрать контейнер с необходимыми
зависимостями и приложением.
Команды:
FROM — Указывает базовый образ
RUN — Выполнение команд в контейнере
COPY — Копирование файлов и директорий
WORKDIR — Установка рабочей директории, если ее не существует, то создаст автоматически
CMD — Указание команды для запуска контейнера, которая будет выполнена при запуске
контейнера
ENV — Установка переменных окружения
12.
Основные команды Dockerdocker build — создание образа из Dockerfile. Пример: docker build -t myimage .
Создаст образ из докерфайла в текущей директории с тегом myimage.
docker run — запуск контейнера из образа. Пример: docker run myimage.
docker ps — отображение запущенных контейнеров. Пример: docker ps -a
выведет список всех контейнеров, в том числе не запущенных.
docker images — отображение всех образов.
docker pull — загрузка образа из Docker Hub.
docker push — отправка образа в Docker Hub.
docker stop — остановка контейнера.
docker start — запуск остановленного контейнера.
13.
ЗаданиеСоздать докерфайл с для образа на основе любой версии ubuntu(пример FROM
ubuntu:20.04 RUN apt install wget)
Сбилдить образ с тегом myimage docker build -t myimage .
Создать из него контейнер, запустить и подключиться к нему в терминале
docker run -it myimage
Посмотреть что внутри(ls), попробовать скачать какую-то картинку из
интернета wget <link>
Скопировать эту картинку из контейнера на хост-машину docker cp
<container_hash>:/<pathToImage> .
Остановить контейнер docker stop <container_hash>, проверить, что он
остановлен docker ps
Стартануть контейнер заново и проверить, что картинка на месте docker start -i
<container_hash>
14.
ЗаданиеСкачать проект https://gitlab.strongteam.pro/agubarev/docker_ci.git
Создать докерфайл с окружением для запуска тестов на python, включая allure
для отчета, скопировать туда проект:
Нужны python3-pip, virtualenv, wget и аллюр, для аллюра ниже как установить
wget
https://github.com/allure-framework/allure2/releases/download/2.17.3/allure_2
.17.3-1_all.deb
export DEBIAN_FRONTEND=noninteractive && \
apt install -yq ./allure_2.17.3-1_all.deb
Запустить контейнер и тесты в нем, сгенерировать отчет, скачать его на хостмашину и посмотреть