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!), което означава, че образът е бил успешно изтеглен и стартиран.