установить Docker на CentOS 8

Thank you for reading this post, don't forget to subscribe!

CentOS 8 постав­ля­ет­ся с соб­ствен­ны­ми инстру­мен­та­ми buildah и podman, кото­рые сов­ме­сти­мы с суще­ству­ю­щи­ми обра­за­ми Docker и рабо­та­ют без исполь­зо­ва­ния демо­на, что поз­во­ля­ет созда­вать кон­тей­не­ры обыч­но­му поль­зо­ва­те­лю, без необ­хо­ди­мо­сти спе­ци­аль­ных разрешений.

Эти инстру­мен­ты по-преж­не­му име­ют неко­то­рые огра­ни­че­ния, поэто­му в этом руко­вод­стве мы уви­дим, как уста­но­вить и запу­стить ори­ги­наль­ный Docker CE на Centos 8, исполь­зуя офи­ци­аль­ный репо­зи­то­рий Docker.

Добавление хранилища Docker

Ути­ли­та DNF config-manager поз­во­ля­ет нам, сре­ди про­че­го, лег­ко вклю­чать или отклю­чать репо­зи­то­рий в нашей CentOS.

По умол­ча­нию в CentOS 8 вклю­че­ны толь­ко репо­зи­то­рии appstream и baseos.

Сле­ду­ю­щий шаг — доба­вить и вклю­чить репо­зи­то­рий docker-ce.

Все, что нам нуж­но сде­лать, что­бы выпол­нить эту зада­чу, это запу­стить следующее:

Мы можем про­ве­рить, что репо­зи­то­рий был вклю­чен, вве­дя сле­ду­ю­щую коман­ду dnf:

Установка пакета docker-ce

Репо­зи­то­рий содер­жит несколь­ко вер­сий паке­та docker-ce, для отоб­ра­же­ния всех из них мы можем запустить:

В насто­я­щее вре­мя уста­нов­ка containerd.io> 1.2.0-3.el7 забло­ки­ро­ва­на, что явля­ет­ся зави­си­мо­стью от docker-ce.

Из-за это­го мы долж­ны обой­ти эту проблему.

Одна­ко дру­гая про­бле­ма присутствует.

Пока firewalld, систем­ный мене­джер бранд­мау­э­ра вклю­чен, раз­ре­ше­ние DNS внут­ри Docker кон­тей­не­ров не работает.

На дан­ный момент это един­ствен­ный спо­соб уста­но­вить docker-ce. Мы обно­вим ста­тью, как толь­ко ста­нет досту­пен соот­вет­ству­ю­щий пакет centos 8.

Теперь мы уста­но­вим Docker с помо­щью сле­ду­ю­щей команды:

Теперь мы долж­ны вклю­чить сер­вис Docker:

Мы можем про­ве­рить, рабо­та­ет ли сер­вис, как следует:
Из это­го выво­да вид­но, что все в порядке.

Добавление пользователя в группу Docker

Груп­па Docker созда­на, но в нее не добав­ле­но ни одно­го пользователя.

Добавь­те ваше­го поль­зо­ва­те­ля в эту груп­пу для запус­ка команд Docker без sudo

Вый­ди­те из систе­мы и сно­ва вой­ди­те в систе­му, что­бы исполь­зо­вать Docker без sudo.
Мы можем про­ве­рить вер­сию Docker:

Проверьте установку Docker, подтянув тестовый образ

Теперь мы можем полу­чить образ кон­тей­не­ра Alpine Docker, что­бы про­ве­рить наш уста­нов­лен­ный Docker:

Спи­сок загру­жен­ных обра­зов контейнеров:
Убе­ди­тесь, что Docker CE рабо­та­ет пра­виль­но, запу­стив кон­тей­нер alpine из загру­жен­но­го образа.
Мы уви­дим, что мы полу­ча­ем ошиб­ки при попыт­ке обнов­ле­ния с помо­щью «apk update».
После пере­за­груз­ки мы попро­бу­ем сно­ва apk update:

Заключение

В насто­я­щее вре­мя нет офи­ци­аль­но­го паке­та Docker Centos 8.

На дан­ный момент мы долж­ны исполь­зо­вать этот обход­ной путь, что­бы исполь­зо­вать офи­ци­аль­ный Docker.