Gymterview
middle

Как работать с Docker на Ubuntu?

Установка Docker на Ubuntu 24.04

Полная процедура установки Docker
# 1. Удалить старые версии (если были)
sudo apt remove docker docker-engine docker.io containerd runc

# 2. Установить зависимости
sudo apt update
sudo apt install ca-certificates curl gnupg

# 3. Добавить GPG-ключ Docker
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | \
  sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# 4. Добавить репозиторий Docker
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
  https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 5. Установить Docker Engine
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# 6. Добавить пользователя в группу docker
sudo usermod -aG docker $USER
newgrp docker

# 7. Проверить
docker run hello-world
docker --version
docker compose version

Основные команды Docker

Пример
# Образы
docker pull eclipse-temurin:21-jre       # Скачать образ
docker images                             # Список образов
docker rmi image_name                     # Удалить образ

# Контейнеры
docker run -d --name myapp -p 8080:8080 myapp:latest
docker ps                                 # Работающие контейнеры
docker ps -a                              # Все контейнеры
docker logs -f myapp                      # Логи контейнера
docker exec -it myapp bash                # Зайти в контейнер
docker stop myapp                         # Остановить
docker rm myapp                           # Удалить

# Docker Compose
docker compose up -d                      # Запустить все сервисы
docker compose down                       # Остановить все сервисы
docker compose logs -f                    # Логи всех сервисов

# Очистка
docker system prune -a                    # Удалить всё неиспользуемое

Важные файлы и каталоги Docker

Путь Описание
/var/lib/docker/ Данные Docker (образы, контейнеры, тома)
/etc/docker/daemon.json Конфигурация Docker Engine
/var/run/docker.sock UNIX-сокет для взаимодействия с Docker daemon

Docker как systemd-сервис

Пример
sudo systemctl status docker
sudo systemctl enable docker     # Автозапуск при загрузке (включён по умолчанию)

На собеседовании: ожидают знание базовых команд Docker и умение установить его на чистый сервер. Частая ошибка — забыть добавить пользователя в группу docker и запускать все команды через sudo. Знание /var/lib/docker/ как источника занятого места на диске — полезный практический момент.