Skip to main content

Установка Docker на Astra Linux SE 1.8.1

Сначала меняем репозитории в файле /etc/apt/sources.list

Для этого открываем файл:

sudo nano /etc/apt/sources.list

Закомментируем строку символом #, подобную этой (она видит репозитории только на вставляемом DVD):

deb cdrom:[OS Astra Linux 1.8.1.6  DVD]/ 1.8_x86-64 contrib main non-free non-free-firmware

Ниже вставляем следующие ссылки на репозитории:

# Основной репозиторий, включающий актуальное оперативное или срочное обновление
deb https://dl.astralinux.ru/astra/stable/1.8_x86-64/main-repository/     1.8_x86-64 main contrib non-free non-free-firmware
# Расширенный репозиторий, соответствующий актуальному оперативному обновлению
deb https://dl.astralinux.ru/astra/stable/1.8_x86-64/extended-repository/ 1.8_x86-64 main contrib non-free non-free-firmware

Обновляем пакеты:

sudo apt update

===================================================

Теперь можно устанавливать Docker. Он состоит из двух частей - непосредственно Docker, и Docker Compose.

Docker Compose предназначен для упрощения управления многоконтейнерными приложениями в Docker. С его помощью можно описать конфигурацию нескольких контейнеров, их взаимодействие и зависимости в одном файле docker-compose.yml, что позволяет запускать, останавливать и масштабировать все контейнеры одной командой.

-----------

Полная инструкция установки доступна по ссылке https://wiki.astralinux.ru/pages/viewpage.action?pageId=158601444

Здесь же будет упрощённый вариант, к тому же в инструкции по ссылке нет сведений о замене репозиториев и установке Docker Compose.

------------

Устанавливаем сам Docker:

sudo apt install docker.io

Установка должна выполняться от имени пользователя, являющегося администратором системы (при включенном МКЦ - пользователя с высоким уровнем целостности). После установки Docker рекомендуется предоставить администратору право работать с контейнерами не используя sudo. Для этого пользователя нужно включить в группу docker:

sudo usermod -aG docker $USER

Аналогично в группу docker следует включить других пользователей, которые будут работать с docker. 

Для начала действия включения пользователя в группу обычно рекомендуется перезапустить пользовательскую сессию. В целях тестирования актуализировать включение пользователя в группу можно следующими командами (команда действуют только на активный терминал, и для выполнения команды понадобится ввести пароль пользователя):

exec su - $USER

Проверяем установленную версию Docker:

docker -v

Должно быть так (зависит от версии):

Docker version 25.0.5~astra1, build 739b53fc 739f70c4

Это версия 2023 года, которая есть в репозиториях Astra, но она ещё актуальна.

---------------

Теперь нужно установить Docker Compose. Этот компонент распространяется как отдельно, так и в виде плагина для Docker. Сейчас всё больше предпочтения отдаётся плагину, так как он чаще обновляется и поддерживает более современные версии Docker. Тем не менее, в Astra Linux SE можно установить Docker Compose только в виде отдельного компонента (автономного пакета). Поэтому вводим такие команды:

Скачиваем и устанавливаем автономный пакет, наиболее актуальной версии.

sudo curl -SL https://github.com/docker/compose/releases/download/v2.30.3/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose

Делаем файл исполняемым

sudo chmod +x /usr/local/bin/docker-compose

Проверяем версию

docker-compose version

Docker Compose version v2.30.3

Запускаем поставляемый вместе с Docker тестовый контейнер, выводящий в терминал слова "Hello World".

sudo docker run hello-world

Вывод будет примерно таким:

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

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

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

То, что там вначале есть слова "Unable to find" - ничего страшного. Просто Docker не нашёл образ контейнера на компьютере, поэтому скачал его с интернета.