Системы виртуализации
Введение в Docker - Dockerfile
Для начала вспомним а что такое контейнер Docker
Что такое Dokerfile
Из чего состоит Dockerfile?
Из чего состоит Dockerfile?
2.02M
Category: softwaresoftware

Введение в docker Dokerfile

1.

Курс «Системы виртуализации»
Цель курса:
В курсе будут рассмотрены основы виртуализации, даны практические знания по конфигурированию и сопровождению
Docker, Kubernetes. Также будут рассмотрены пути решения часто встречающихся ошибок и проблем.
Проводят занятия сотрудники Сбера с многолетним успешным опытом работы:
Кокшаров Алексей Сергеевич, Иванов Илья Борисович, Фадеев Виталий Олегович
Темы занятий
Введение в виртуализацию: понятие виртуализации и общие принципы, основные преимущества и
применение в современном мире.
Введение в Docker: понимание основ Docker и процесс установки.
Основы работы с Docker: создание контейнеров и их управление, основные команды.
Создание Docker-образов и Dockerfile: подробное руководство по созданию образов и файлов Dockerfile.
Введение в Kubernetes и OpenShift: понимание основ Kubernetes и процесс установки
Kubernetes Ingress: маршрутизация трафика и основные принципы работы
Автомасштабирование в Kubernetes
Безопасность и управление доступом в Kubernetes
Логи и метрики для мониторинга контейнеров и виртуальных машин

2. Системы виртуализации

3. Введение в Docker - Dockerfile

4. Для начала вспомним а что такое контейнер Docker

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

5. Что такое Dokerfile

Dockerfile сообщает Docker о том, как собирать образы, на основе которых создаются контейнеры.
Иначе говоря, Dokerfile – это сердце docker
Каждому образу Docker соответствует файл, который называется Dockerfile. При запуске команды
docker build для создания нового образа подразумевается, что Dockerfile находится в текущей рабочей
директории. Если этот файл находится в каком-то другом месте, его расположение можно указать с
использованием флага -f.

6. Из чего состоит Dockerfile?

FROM — задаёт базовый (родительский) образ.
Пример: FROM ubuntu:18.04 / FROM ubuntu
LABEL — описывает метаданные. Например — сведения о том, кто создал и поддерживает образ.
Пример: maintainer="NekayaPochta.yandex.ru«
ENV — устанавливает постоянные переменные среды.
Пример: ENV ADMIN="Ilya“
RUN — выполняет команду и создаёт слой образа. Используется для установки в контейнер пакетов.
Пример: RUN apk update && apk upgrade && apk add bash
COPY — копирует в контейнер файлы и папки. Пример: COPY . ./app
ADD — копирует файлы и папки в контейнер, можно добавлять в контейнер файлы, загруженные из
удалённых источников, может распаковывать локальные .tar-файлы.
Пример: ADD https://github.com/hufrea/byedpi/releases/tag/v0.16.6

7. Из чего состоит Dockerfile?

CMD — описывает команду с аргументами, которую нужно выполнить когда контейнер будет запущен.
Аргументы могут быть переопределены при запуске контейнера. В файле может присутствовать лишь
одна инструкция CMD.
Пример: CMD ["python", "./tot_samyi_script.py"]
WORKDIR — задаёт рабочую директорию для следующей инструкции. Может использоваться
множество раз
Пример: WORKDIR /usr/src/my_app_directory
ARG — задаёт переменные для передачи Docker во время сборки образа.
Пример: ARG my_var=my_default_value
ENTRYPOINT — предоставляет команду с аргументами для вызова во время выполнения контейнера.
Аргументы не переопределяются.
Пример: ENTRYPOINT ["python", "./app/my_script.py", "my_var"]
EXPOSE — указывает на необходимость открыть порт, но не открывает его
Пример: EXPOSE 8000
VOLUME — создаёт точку монтирования для работы с постоянным хранилищем.
Пример: VOLUME /my_volume
English     Русский Rules