Docker — это платформа для контейнеризации приложений, которая позволяет упаковывать приложения и их зависимости в легковесные, переносимые контейнеры. Контейнеры работают изолированно друг от друга, но используют общее ядро операционной системы.
Dockerfile
или скачиваются из реестров (например, Docker Hub).Dockerfile
— это текстовый файл, содержащий последовательность команд для сборки образа. Вот основные инструкции:
Инструкция | Описание |
---|---|
FROM |
Указывает базовый образ (например, FROM ubuntu:20.04 ). |
RUN |
Выполняет команду в процессе сборки образа (например, установка пакетов). |
COPY |
Копирует файлы из локальной файловой системы в образ. |
CMD |
Определяет команду, которая будет выполнена при запуске контейнера. |
ENTRYPOINT |
Задает точку входа для контейнера (альтернатива CMD ). |
WORKDIR |
Устанавливает рабочую директорию внутри контейнера. |
ENV |
Устанавливает переменные окружения. |
EXPOSE |
Указывает порты, которые будут доступны для контейнера. |
# Базовый образ
FROM python:3.9-slim
# Установка рабочей директории
WORKDIR /app
# Копирование файлов в образ
COPY requirements.txt .
# Установка зависимостей
RUN pip install --no-cache-dir -r requirements.txt
# Копирование исходного кода
COPY . .
# Открытие порта
EXPOSE 5000
# Команда для запуска приложения
CMD ["python", "app.py"]
# Сборка образа из Dockerfile
docker build -t my-app:1.0 .
# Проверка созданных образов
docker images
# Запуск контейнера в интерактивном режиме
docker run -it --name my-container my-app:1.0
# Запуск контейнера в фоновом режиме
docker run -d -p 8080:5000 --name my-container my-app:1.0
# Остановка контейнера
docker stop my-container
# Удаление контейнера
docker rm my-container
# Удаление образа
docker rmi my-app:1.0
docker tag my-app:1.0 username/my-app:1.0
docker login
docker push username/my-app:1.0
docker pull username/my-app:1.0
Команда | Описание |
---|---|
docker ps |
Просмотр запущенных контейнеров. |
docker ps -a |
Просмотр всех контейнеров (включая остановленные). |
docker logs <container> |
Просмотр логов контейнера. |
docker exec -it <container> bash |
Вход в контейнер через терминал. |
docker inspect <container> |
Получение подробной информации о контейнере. |
docker network ls |
Просмотр сетей Docker. |
docker volume ls |
Просмотр томов Docker. |
Что такое Docker и зачем он нужен?
Что такое Dockerfile?
Как создать образ Docker?
docker build
с указанием пути к Dockerfile:
docker build -t my-app:1.0 .
Как загрузить образ в Docker Hub?
docker push
.Что такое контейнер?
Какие основные команды Docker вы знаете?
docker build
, docker run
, docker ps
, docker logs
, docker exec
, docker inspect
.Что такое Docker Compose?
docker-compose.yml
для описания сервисов, сетей и томов.Как остановить и удалить контейнер?
docker stop
и docker rm
.multi-stage builds
) для уменьшения размера образа.Trivy
.Docker — это мощный инструмент для разработки, тестирования и развертывания приложений. Понимание основных концепций, таких как образы, контейнеры, Dockerfile и реестры, является ключевым для успешного использования Docker.
Что такое IT-GIT?
«IT» — это не просто технологии, а целый мир инноваций и решений, направленных на преодоление сложностей. Мы представляем экспертность в области информационных технологий и широкой технологической экосистемы, стремясь к постоянному развитию и совершенствованию.
«Git» — это отсылка к одной из самых популярных систем контроля версий, которая обеспечивает эффективное сотрудничество, быструю итерацию и надежное управление сложными проектами. Мы стремимся объединить и поделиться опытом и идеями специалистов в сфере технологий, создавая пространство для обмена знаниями.
Инновационные технологии + совместный опыт экспертов в области технологий = путь к успеху!