Перейти к содержимому
Главная страница » Как установить Docker в Ubuntu

Как установить Docker в Ubuntu

Описываемый вариант установки подходит для версий Ubuntu с долгосрочной поддержкой (LTS) Ubuntu 20.04, 22.04 и 24.04, в описании я буду использовать версию Ubuntu 24.04.

Минимальные требования к серверу:

  • 64-разрядную архитектуру и не менее 
  • 2 ГБ оперативной памяти

Настройка окружения

Чтобы начать установку Docker, убедитесь, что ваша система обновлена и установлены все необходимые пакеты. Выполните следующие действия.:

  1. Откройте свой терминал и подключитесь к серверу (VPS ) с помощью SSH. Замените Имя пользователя и your_server_ip с вашими фактическими учетными данными:
ssh username@your_server_ip

Можно использовать putty для удобства.

  1. Обновите список пакетов, чтобы убедиться, что ваш сервер использует новейшие версии пакетов и их зависимостей:
sudo apt update
sudo apt upgrade
  1. Установите необходимые пакеты, чтобы разрешить apt использовать репозитории через HTTPS:
sudo apt install apt-transport-https ca-certificates curl software-properties-common

2. Добавьте официальный GPG-ключ Docker

Чтобы обеспечить подлинность и безопасность пакетов Docker, вам необходимо добавить официальный GPG-ключ Docker и настроить репозиторий Docker. Вот руководство.:

  1. Выполните следующую команду curl чтобы добавить GPG-ключ Docker:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
  1. Добавьте официальный репозиторий Docker в свои APT-исходники:
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  1. Обновите список пакетов, чтобы включить пакеты из нового репозитория:
sudo apt update

3. Установите Docker

Теперь, настроив необходимые репозитории, вы можете приступить к установке Docker. Вот шаги для этого.:

  1. Убедитесь, что вы собираетесь установить Docker из его официального репозитория, а не из репозитория Ubuntu по умолчанию:
apt-cache policy docker-ce
  1. Вы увидите следующий вывод, указывающий на то, что Docker будет установлен из правильного репозитория:
docker-ce:

 Installed: (none)

 Candidate: 5:26.1.3-1~ubuntu.24.04~noble

 Version table:

 5:26.1.3-1~ubuntu.24.04~noble 500

 500 https://download.docker.com/linux/ubuntu noble/stable amd64 Packages

 5:26.1.2-1~ubuntu.24.04~noble 500

 500 https://download.docker.com/linux/ubuntu noble/stable amd64 Packages

 5:26.1.1-1~ubuntu.24.04~noble 500

 500 https://download.docker.com/linux/ubuntu noble/stable amd64 Packages

…
  1. Выполните эту команду, чтобы установить Docker Engine, Docker Community Edition и containerd runtime, все необходимое для запуска контейнеров Docker:
sudo apt install docker-ce docker-ce-cli containerd.io
  1. Убедитесь, что Docker запускается автоматически при загрузке вашей системы:
sudo systemctl enable docker

4. Проверьте установку Docker

После установки Docker важно убедиться, что установка прошла успешно и Docker работает правильно. Вот инструкции.:

  1. Подтвердите версию Docker, установленную в вашей системе:
docker --version
  1. Вот ожидаемый результат:
Docker version 26.1.3, build b72abbb
  1. Используйте следующую команду, чтобы проверить состояние службы Docker:
sudo systemctl status docker
  1. Вы должны увидеть вывод, указывающий на то, что Docker активен и запущен:
● docker.service - Docker Application Container Engine

 Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: enabled)

 Active: active (running) since Wed 2024-05-22 06:12:32 UTC; 39s ago

TriggeredBy: ● docker.socket

 Docs: https://docs.docker.com

 Main PID: 3717 (dockerd)

 Tasks: 9

 Memory: 29.4M (peak: 29.8M)

 CPU: 334ms

 CGroup: /system.slice/docker.service

 └─3717 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
  1. Чтобы выйти из этого экрана состояния, нажмите Ctrl + C на клавиатуре.

5. Запустите Docker без Sudo (необязательно)

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

docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.

Однако запуск Docker без sudo более целесообразно, потому что это быстрее и проще. Следуйте этому руководству.:

  1. Выполните следующую команду, чтобы создать докер Группа:
sudo groupadd docker
  1. Добавьте нового пользователя, если у вас его нет. Здесь мы назовем его new_user:
sudo usermod -aG docker new_user
  1. Вам будет предложено установить новый пароль для этого пользователя.
  2. Добавить new_user в docker Группа:
sudo usermod -aG docker new_user
  1. Переключитесь на недавно созданного пользователя:
su - new_user
  1. Убедитесь, что этот пользователь является частью программы docker Группа:
groups
  1. Вот результат:
new_user users docker
  1. Запустите простую команду Docker, чтобы убедиться, что вы можете запускать команды без sudo:
docker run hello-world
  1. Вы должны увидеть вывод, показывающий, что Docker работает корректно от имени пользователя, не имеющего права root:
Unable to find image 'hello-world:latest' locally

latest: Pulling from library/hello-world

c1ec31eb5944: Pull complete 

Digest: sha256:266b191e926f65542fa8daaec01a192c4d292bff79426f47300a046e1bc576fd

Status: Downloaded newer image for hello-world:latest

Hello from Docker!

This message shows that your installation appears to be working correctly.

Поздравляем! Вы успешно настроили Docker вручную на Ubuntu VPS с помощью команд.

Устранение распространенных проблем с установкой Docker

Установка Docker иногда может быть сопряжена с трудностями. Вот несколько распространенных проблем и практических советов по их устранению.

Демон Docker не запущен (Docker daemon is not running

Если вы получаете сообщение об ошибке, указывающее, что демон Docker не запущен, это, вероятно, означает, что служба не активна. Чтобы устранить это, запустите службу Docker с помощью команды:

Демон Docker не запущен (Docker daemon is not running)

Вы можете проверить состояние демона Docker, выполнив:

sudo systemctl status docker

Не удается подключиться к демону Docker

Если вы столкнулись с ошибкой “Не удается подключиться к демону Docker в unix: /// var / run / docker.sock”, обычно это означает, что служба Docker не запущена или возникли проблемы с разрешениями.

Сначала убедитесь, что служба Docker запущена с:

sudo systemctl start docker

Затем убедитесь, что ваш пользователь является частью группы Docker, выполнив следующее:

groups

Проблемы с установкой из репозиториев

Проблемы при добавлении репозитория Docker APT или во время установки пакета могут возникнуть из-за неправильной настройки репозитория. Убедитесь, что вы добавили официальный репозиторий и обновили список пакетов, выполнив:

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

sudo apt update

Запущенные контейнеры не отвечают

Если запущенные контейнеры не отвечают или ведут себя неожиданно, проверьте журналы контейнеров, чтобы диагностировать проблему. Используйте команду:

docker logs container_id

При необходимости перезапустите контейнер, выполнив:

docker restart container_id

Брандмауэр и конфигурация сети

Иногда Docker может сталкиваться с проблемами из-за настроек брандмауэра или сетевых конфигураций, блокирующих необходимые порты. Убедитесь, что ваш брандмауэр разрешает трафик через порты Docker по умолчанию. Вы можете проверить свои правила брандмауэра и при необходимости добавить необходимые исключения.

Например, если вы используете Простой брандмауэр (UFW), вы можете разрешить трафик Docker с помощью:

sudo ufw allow 2375/tcp

sudo ufw allow 2376/tcp

sudo ufw allow 2377/tcp

sudo ufw allow 7946/tcp

sudo ufw allow 7946/udp

sudo ufw allow 4789/udp

Кроме того, проверьте настройки вашей сети, чтобы убедиться, что Docker может взаимодействовать с внешними серверами для загрузки образов и выполнения других задач.

Настройка и советы после установки

После установки Docker новые пользователи должны ознакомиться с несколькими необходимыми командами и задачами. В этом разделе будут рассмотрены некоторые настройки Docker после установки и советы.

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

Начало работы с Docker включает в себя изучение нескольких основных команд. Вот несколько команд, которые должен знать каждый новый пользователь:

  • Список образов Docker:
docker images
  • Поиск изображений в Docker Hub:
docker search image_name
  • Загрузите образ Docker из Docker Hub:
docker pull image_name

Кроме того, ознакомьтесь с нашей Шпаргалкой по Docker руководством, чтобы изучить все наиболее важные команды и их назначение.

Запуск контейнеров Docker и управление ими

Запуск контейнеров и управление ими — основная часть работы с Docker. Вот руководство по выполнению этих задач.:

  • Запустите контейнер Docker, используя указанный образ:
docker run -d --name container_name image_name
  • Запустите контейнер Docker:
docker start container_id_or_name
  • Остановить запущенный контейнер:
docker stop container_id_or_name
  • Перечислите все запущенные контейнеры:
docker ps

Работа с образами Docker

Образы Docker являются основой для контейнеров. Вот как вы можете работать с образами:

  • Создайте образ Docker из файла Dockerfile в текущем каталоге:
docker build -t image_name .
  • Пометьте изображение определенным именем и тегом:
docker tag source_image_name target_image_name:tag
  • Войдите в Docker Hub, пометьте свое изображение и отправьте его в свой репозиторий:
docker login

docker tag image_name dockerhub_username/image_name:tag

docker push dockerhub_username/image_name:tag

Удаление неиспользуемых компонентов Docker

Чтобы поддерживать чистоту и эффективность вашей среды, вам необходимо регулярно удалять неиспользуемые компоненты Docker. Вот как это сделать.:

  • Удалите все зависшие образы Docker:
docker image prune
  • Удалите все остановленные контейнеры:
docker container prune
  • Очистите неиспользуемые тома Docker:
docker container prune
  • Удалите все неиспользуемые сети:
docker network prune

Использование Docker Compose

Docker Compose — мощный инструмент для управления многоконтейнерными приложениями. Вот основная команда для его запуска.:

docker-compose up -d

Это запускает службы, определенные в файле docker-compose.yml в отдельном режиме.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *