Hopp til innhold

Docker — Установка Docker Engine,

Skip to content

Это машинный перевод текста, который может содержать ошибки!

Установка Docker Engine

Здесь вы устанавливаете Docker Engine и плагин Compose на сервере с Linux. Работа завершена, когда hello-world отвечает и Compose отображает номер версии. Работайте в терминале ВМ, по одной команде за раз.

Если у вас уже есть рабочая установка, переходите к [[Containerbruk Level 1 - Kjor og undersog en container|Запуск и исследование контейнера]].

Что такое Docker? объясняет образы, контейнеры и реестры. Контейнеры и виртуальные машины показывает связь с ВМ Linux.

Предварительные требования

Вам нужен сервер на базе Debian или Ubuntu в Proxmox и права администратора. Откройте консоль (Console) вашей виртуальной машины (VM) и войдите в систему. Docker устанавливается и используется внутри виртуальной машины, а не в оболочке (Shell) хоста Proxmox. Вся установка может быть выполнена через консоль. Вход с собственного компьютера по протоколу 🔐 SSH — это отдельная тема, которую вы можете изучить позже.

Вы должны уметь отображать текущий каталог командой pwd, просматривать его содержимое командой ls и переключаться между каталогами командой cd. Урок CLI-øvelsen поможет вам освоить работу в терминале. Раздел Brukere og rettigheter i Linux объясняет концепции пользователей и групп; непосредственная настройка root/sudo описана в инструкции по установке ниже.

Новичок в Proxmox или сетевых основах?

[[Установка сервера Уровень 2 - ВМ в Proxmox|🖥️ Установка сервера - ВМ в Proxmox]] показывает, как создать виртуальную машину и установить Ubuntu или Debian шаг за шагом. Если у вас нет доступа к Proxmox, [[Установка сервера Уровень 1 - Общее железо|🖥️ Установка сервера - Общее железо]] демонстрирует то же самое непосредственно на физическом оборудовании. [[Виртуализация Уровень 1 - Урок по ВМ|🖥️ Виртуализация]] является оценочным заданием, где вы позже документируете, что освоили это самостоятельно. [[Протоколы Уровень 1 - Сетевые протоколы|🌐 Сетевые протоколы]] охватывает IP-адреса и порты.

Установка Docker Engine

Следуйте официальным инструкциям по установке для Docker Engine на Debian или Docker Engine на Ubuntu.

Ознакомьтесь с требованиями и используйте раздел Установка через репозиторий apt для вашей операционной системы. Сначала настройте пакетный источник Docker, а затем установите Docker Engine и плагин Compose в соответствии с предоставленными указаниями.

Длинные команды без копирования и вставки

Копирование и вставка часто не работают в консоли Proxmox, а несколько строк в руководстве по установке длинные. Вводите по одной строке за раз и сравнивайте символ за символом перед нажатием Enter. Если после этого возникает ошибка apt update, это часто опечатка в источнике пакета или проблема с сетью; см. раздел «Если что-то идет неправильно».

Debian без sudo?

Следуйте [[Установка сервера Уровень 1 - Голый металл|инструкции для root и sudo]], прежде чем начинать. Вы можете установить sudo для обычного пользователя или выполнять административные команды от имени root в консоли ВМ. От имени root вы опускаете sudo перед командами.

Установка на Debian

Команды ниже взяты из руководства Docker от 14 октября 2026 года для Debian. Если они не работают, возможно, Docker изменил их; в этом случае сравните с официальной страницей. Если вы используете Ubuntu, следуйте руководству для Ubuntu, так как адреса другие.

Некоторые слова в выводах команды apt написаны по-шведски или датски, например «Sammanfattning» и «Fortsätta?». Это происходит из норвежского перевода пакета Debiана и не имеет значения для установки.

1. Получите ключ Docker. Ключ позволяет apt проверять, что пакеты действительно поступают от Docker.

sudo apt update
sudo apt install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

Терминал на сервере с Debian: команды sudo apt update и sudo apt install ca-certificates curl, после чего создаётся каталог /etc/apt/keyrings и ключ GPG для Docker загружается в файл docker.asc без вывода информации

2. Добавьте репозиторий пакетов Docker. Введите первую строку и нажмите Enter. Терминал будет отображать символ > перед каждой новой строкой до тех пор, пока вы не напишете EOF. После этого команда tee выведет содержимое файла. Там поле Suites должно содержать название вашей версии Debian, например, trixie.

sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/debian
Suites: $(. /etc/os-release && echo "$VERSION_CODENAME")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
sudo apt update

Терминал на сервере Debian: команда sudo tee записывает источник пакета Docker построчно в файл /etc/apt/sources.list.d/docker.sources и отображает Suites: trixie и Architectures: amd64, после чего команда sudo apt update получает список пакетов с сайта download.docker.com

После выполнения команды sudo apt update вы должны увидеть строки от download.docker.com. Если их нет, значит, в файле есть опечатка. См. раздел «Если что-то пошло не так».

3. Установите Docker. Ответьте Y, когда apt спросит, хотите ли вы продолжить.

sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Терминал на сервере Debian: после ответа ученика «Y» команды sudo apt install устанавливают docker-ce, docker-ce-cli, containerd.io, docker-buildx-plugin и docker-compose-plugin, а команда sudo docker run hello-world выводит Hello from Docker!

Анимация также демонстрирует выполнение команды sudo docker run hello-world из панели управления ниже.

Проверьте установку:

docker --version
docker compose version
sudo systemctl status docker
sudo docker run hello-world

Команда hello-world загружает небольшой образ, запускает тестовый контейнер и выводит сообщение. Нажмите q, если команда systemctl status docker отображает результат в постраничном просмотрщике и вам нужно вернуться к терминалу.

При необходимости используйте sudo перед командами Docker далее, если у обычного пользователя нет доступа. Если вы решите предоставить обычному пользователю доступ через группу docker, выполните следующие команды из сессии этого пользователя. Группа предоставляет права на уровне root; делайте это только для пользователя, который будет администрировать учебный сервер:

sudo usermod -aG docker $USER

Если вы выполняете это из сессии root без использования sudo, используйте команду usermod -aG docker вашеимяпользователя, заменив вашеимяпользователя на имя вашего обычного пользователя. Переменная $USER в сессии root указывает на root, а не на вашего обычного пользователя.

Выйдите и войдите снова (или выполните newgrp docker), чтобы изменения вступили в силу. До этого момента можно использовать sudo перед командами в следующих упражнениях.

Контрольная точка: Docker установлен

Команда hello-world должна была отобразить Hello from Docker!, а команда docker compose version — показать версию. Если один из результатов отсутствует, исправьте установку перед запуском веб-сервера. При запросе помощи желательно предоставить команду и её ответ.

Если установка не удалась

Симптом Проверка
Не найдено docker или docker compose Убедитесь, что и Engine, и плагин Compose установлены в соответствии с руководством для вашей операционной системы.
permission denied при выполнении команды Docker Попробуйте использовать sudo. Изменения группы требуют повторного входа в систему.
Сервис Docker не работает Прочтите вывод sudo systemctl status docker и сообщение об ошибке перед повторным запуском.
В выводе apt update отображается Malformed или Unsupported file Сравните файл репозитория пакета с руководством Docker посимвольно.
NO_PUBKEY или is not signed Убедитесь, что ключ загружен по правильному пути и доступен для чтения утилитой apt.
Could not resolve, Failed to fetch, timeout или dial tcp Виртуальная машина не может получить доступ к исходнику пакетов или реестру. Используйте Метод устранения неполадок для тестирования сети слой за слоем.

Следующий шаг

Когда hello-world отобразит Hello from Docker!, а Compose покажет версию, продолжите с раздела Запуск и исследование контейнера. Там вы получите Nginx и проверите, какой контейнер отвечает на запросы.



Практическое задание по работе с контейнерами сейчас находится в разделе Запуск и исследование контейнера.



Практические задания по хранению данных находятся в разделе Сохранение данных вне контейнера.