Установка 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
For more examples and ideas, visit:
https://docs.docker.com/get-started/
То, что там вначале есть слова "Unable to find" - ничего страшного. Просто Docker не нашёл образ контейнера на компьютере, поэтому скачал его с интернета.