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

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

Docker недоступен в репозиториях CentOS. 
Это пошаговое руководство, которое поможет вам установить Docker на CentOS Linux.

Установка Docker на Ubuntu проста, потому что Ubuntu предоставляет Docker в своих репозиториях. Однако Docker недоступен в репозиториях CentOS по умолчанию.

Не волнуйтесь, есть три способа установить docker в систему CentOS Linux.

  • Использование репозитория docker
  • Загрузка RPM
  • Использование вспомогательных скриптов

Здесь я расскажу вам о процессе установки Docker CE с использованием репозитория Docker RPM.

Docker CE расшифровывается как Docker Community Edition. Это бесплатная версия Docker с открытым исходным кодом. Существует Docker EE (Enterprise Edition) с платной поддержкой. Большая часть мира использует Docker CE, и его часто считают синонимом Docker.

Установка Docker на CentOS

Прежде чем двигаться дальше, убедитесь, что ваша система обновлена. Вы можете обновить CentOS с помощью:

sudo dnf update

Добавьте официальный репозиторий

Добавьте официальный репозиторий docker, используя следующую команду

sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

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

sudo dnf update

Установите Docker CE

Проблема с использованием пользовательского репозитория заключается в том, что при попытке установки последней версии docker-ce может возникнуть проблема с зависимостями.

Например, когда я проверяю доступные версии docker-ce с помощью этой команды:

dnf list docker-ce --showduplicates |  sort -r

Я получил docker-ce-3: 19.03.9-3.el7 в качестве последней версии. Но проблема при установке последней версии заключается в том, что она зависит от containerd.io version >= 1.2.2-3. Теперь эта версия containerd.io недоступна в CentOS 8.

Чтобы избежать этого цикла зависимостей и бороться с ними вручную, вы можете использовать --nobest опцию команды dnf.

Он проверит последнюю версию docker-ce, но когда обнаружит проблему с зависимостями, он проверяет следующую доступную версию docker-ce. По сути, это помогает вам автоматически установить наиболее подходящую версию пакета с соблюдением всех зависимостей.

Чтобы установить docker в CentOS без головной боли, попробуйте эту команду и увидите, как волшебство развернется на экране вашего терминала:

sudo dnf install docker-ce --nobest

Вам будет предложено импортировать ключ GPG, убедитесь, что ключ совпадает с 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35, прежде чем вводить «y».

containerd.io это демон для управления контейнерами. Docker — это всего лишь одна из форм контейнеров Linux. Чтобы сделать различные типы образов контейнеров переносимыми, 

Open Container Initiative определила некоторые стандарты. containerd используется для управления образами контейнеров, соответствующими стандарту OCI.

Настройка docker на CentOS

Хорошо! Вы установили docker, но он еще не готов к использованию. Вам придется выполнить некоторые базовые настройки, прежде чем его можно будет использовать без проблем.

Запустите docker без sudo

Вы можете запустить docker без каких-либо прав sudo, добавив своего пользователя в docker группу.

Группа docker уже должна существовать. Проверьте это с помощью следующей команды:

awk -F: '/docker/ {print $1}' /etc/group

Если это ничего не дает, создайте группу docker с помощью команды groupadd следующим образом:

sudo groupadd docker

Теперь добавьте вашего пользователя в docker группу с помощью команды usermod:

$ sudo usermod -aG docker user_name

Измените имя пользователя в приведенной выше команде на предполагаемое имя пользователя.

Теперь выйдите из системы и войдите снова, чтобы групповое изменение вступило в силу.

Запустите docker daemon

Docker установлен. Ваш пользователь добавлен в docker группу. Но этого пока недостаточно для запуска docker.

Прежде чем вы сможете запустить любой контейнер, необходимо запустить демон docker. Демон docker — это программа, которая управляет всеми контейнерами, томами, сетями и т.д. Другими словами, демон выполняет всю тяжелую работу.

Запустите демон docker с помощью:

sudo systemctl start docker

Вы также можете включить автоматический запуск docker daemon во время загрузки:

sudo systemctl enable --now docker

Проверьте установку docker, запустив образец контейнера

Все готово. Пришло время проверить, прошла установка успешно или нет, запустив контейнер docker.

Для проверки вы можете запустить стандартный контейнер docker hello-world. Это крошечный образ docker, который идеально подходит для быстрого тестирования установки docker.

docker run hello-world

Если все в порядке, вы должны увидеть вывод, подобный этому:

Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
0e03bdcc26d7: Pull complete 
Digest: sha256:d58e752213a51785838f9eed2b7a498ffa1cb3aa7f946dda11af39286c3db9a9
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

Вот что команда делает за капотом:

  • Клиент docker, то есть инструмент командной строки, который вы только что использовали, связался с демоном docker.
  • Демон искал образ hello-world docker в локальной системе. Поскольку он не находит образ, он извлекает его из Docker Hub.
  • Движок создает контейнер со всеми опциями, которые вы указали в настройках командной строки клиента.

Этот образ hello-world используется только для тестирования установки docker. Если вам нужен более полезный контейнер, вы можете попробовать запустить Nginx server в подобном контейнере:

docker run --rm --name nginx -p 56788:80 -d nginx:latest

После завершения выполнения команды откройте браузер и перейдите по ссылке http://your_ip_address:56788. Надеюсь, вы знаете, как узнать свой IP-адрес в Linux.

Вы должны увидеть запущенный сервер nginx. Теперь вы можете остановить контейнер.

docker stop nginx

Я надеюсь, что это руководство помогло вам в установке docker на CentOS. Подпишитесь на дополнительные руководства по Docker и советы по DevOps.

Источник

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

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