Docker е популярен софтуер за контейнеризация. Контейнерите са стандартна софтуерна единица, която пакетира кода и всички негови зависимости, така че да може да се стартира бързо и надеждно дадено приложение на различни операционни системи и компютърни среди.
На технически език контейнерът е работещ процес, който е изолиран от други процеси и има достъп до компютърни ресурси. След това нека разгледаме инсталирането на Docker в Debian 11 и стартирането на първото приложение.
Има два начина за инсталиране - чрез стандартните хранилища на Debian или чрез официалното хранилище на Docker. Хранилищата на Debian не съдържат най-новата версия, затова ще разгледаме възможността за инсталиране от официалното хранилище на Docker.
Преди да добавите хранилището, трябва да актуализирате списъка с пакети, като изпълните командата:
$ sudo apt update
Инсталирайте и допълнителни пакети, които са необходими за работа с отдалечени хранилища. За да инсталирате тези пакети, изпълнете командата:
$ sudo apt -y install ca-certificates curl gnupg lsb-release
След това изтеглете и добавете PGP ключа от хранилището. За да направите това, изпълнете командата:
$ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
За да добавите хранилището, трябва да изпълните командата:
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
За да инсталирате пакета, първо трябва да актуализирате списъците с пакети, така че в системата да се появи ново хранилище. За да направите това, просто изпълнете командата:
$ sudo apt update
Накрая можете да инсталирате допълнителни пакети. Инсталирането се извършва с помощта на командата:
$ sudo apt -y install docker-ce docker-ce-cli containerd.io
Думата ce
в името на пакета docker-ce
означава community
, което означава, че ще бъде инсталирана безплатната версия (известна още като community version). Вече знаете как да инсталирате docker debian.
След инсталацията тя ще бъде изключена по подразбиране. За да стартирате програмата, трябва да изпълните командата:
$ sudo systemctl start docker
За да се стартира заедно с операционната система, тя трябва да бъде добавена към автозареждащата програма с помощта на командата:
$ sudo systemctl enable docker
По подразбиране само потребителят root може да използва и изпълнява нейните команди в терминала. Ако изпълните някоя команда от нормален потребител, терминалът ще покаже следната грешка: "Изпълнявате команда от нормален потребител:
Получихте отказ на разрешение при опит за свързване към сокета на демона Docker в unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied
За да стартирате командата като обикновен потребител и без да използвате командата sudo
, трябва да добавите потребителя към групата docker
. Групата docker
се създава автоматично по време на инсталацията. Ако обаче по някаква причина тя не е създадена автоматично, трябва да се създаде ръчно, като се изпълни следната команда:
$ sudo groupadd docker
След това, за да добавите текущия потребител към групата docker, изпълнете:
$ sudo usermod -aG docker $USER
Променливата $USER
означава, че текущият потребител, от чието име е стартирана сесията, ще бъде добавен към групата docker
. Тази променлива присъства във всички съвременни дистрибуции на Linux. Заслужава да се отбележи също, че групата docker дава привилегии, еквивалентни на тези на потребителя root.
След добавянето на потребител е необходимо отново да влезете в системата и едва тогава можете да стартирате някоя от командите на Docker
за тестване. Като пример беше изпълнена командата docker ps
, която показва списък на работещите контейнери:
$ docker ps
Както можете да видите на снимката на екрана по-горе, тя беше изпълнена без грешки и от името на нормален потребител.
За да тествате напълно Docker, можете да изтеглите тестово изображение от hello-world
за проверка. За да направите това, трябва да изпълните:
$ docker run hello-world
Командата docker run
ще изтегли софтуерния образ от онлайн хранилището docker hub
- официалния регистър за съхранение на софтуерни образи от Docker, който се използва по подразбиране, и автоматично ще го стартира. Примерът извежда фразата Hello from Docker! (Здравей от Docker!)
, което означава, че образът е бил успешно изтеглен и стартиран.