Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Оглавление

Информация
titleСм. также:



Информация
titleДанная статья применима к:
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7)
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) с установленным актуальным обновлением безопасности
  • Astra Linux Special Edition РУСБ.10015-16 исп. 1
  • Astra Linux Common Edition 2.12.35


Установка пакетов

Установить пакеты, необходимые для создания собственых собственных образов Docker, можно либо с помощью графического менеджера пакетов либо из командной строки командой:

Command
sudo apt install debootstrap docker.io

Создание собственного образа

Собственный образ создаётся в три этапа:

  1. Выполняется сборка chroot-окружения;
  2. Выполняется настройка chroot-окружения;
  3. Полученное chroot-окружение конвертируется в образ Docker.


  1. Сборка chroot-окружения выполняется командой debootstrap. В примерах ниже chroot-окружение Astra Linux Орел создаётся в подкаталоге chroot-orel текущего каталога:
    1. Если каталоги репозиториев доступны по сети, то загрузка пакетов для сборки может выполняться непосредственно из этих сетевых репозиториев, например, для Astra Linux Special Edition - из общедоступного сетевого репозитория. В примерах ниже chroot-окружение Astra Linux создаётся в подкаталоге docker-chroot текущего каталога

      Command
      sudo debootstrap --verbose --include apt-transport-https --components=main,contrib,non-free orel ./docker-chroot -orel https://dl.astralinux.ru/astra/currentstable/orel/repository/

      В примере в создаваемое chroot-окружение сразу устанавливается пакет apt-transport-https, что в дальнейшем позволит выполнять обновления из сетевых репозиториев используя защищенный протокол https.Для ОС СН опция установки компонент

      Информация
      Для Astra Linux Special Edition опция --components=main,contrib,non-free обязательна, без неё образ
      ОС СН
      Astra Linux Special Edition собран не будет.

      Для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7) следует использовать код дистрибутива 1.7_x86-64, например:

      Command
      sudo debootstrap --verbose --components=main,contrib,non-free smolensk chroot-smolensk16 1.7_x86-64 ./docker-chroot ftp://server/astraincoming/current/smolensk/mounted-iso-mainreleases/se-1.7/base-repository


    2. Если сетевые репозитории пакетов недоступны (не используются), Если каталоги репозиториев недоступны по сети то загрузка может быть выполнена из копии репозитория в локальной файловой системе, например:

      Command
      sudo debootstrap --verbose orel ./docker-chroot -orel file:///srv/repo/orel


  2. Настройка окружения может выполняться как от имени суперпользователя, так и с переходом в окружение с помощью команды chroot, например:
    1. Можно использовать имеющйся файл имеющиеся файлы /etc/resolv.conf и /etc/apt/sources.list просто скопировав его в chroot, и по необходимости, отредактировать файлы в окружении с помощью любого текстового редактора:

      Command

      sudo cp /etc/resolv.conf docker-chroot

      -orel

      /etc/resolv.conf
      sudo cp /etc/apt/sources.list docker-chroot/etc/apt/sources.list

      или, по необходимости, отредактировать файлы в окружении с помощью любого текстового редактора, например:

      Command

      sudo nano docker-chroot

      -orel

      /etc/apt/sources.list


    2. Выполнить обновление созданного окружения, войдя в него с помощью команды chroot:

      Command
      sudo chroot docker-chroot-orel
      apt update
      apt dist-upgrade

      exit


  3. Создание образа wiki/astralinux:orel:

    Command
    sudo tar -C docker-chroot -orel -cpf - . | sudo docker import - wiki/astralinux:orel  --change "ENV PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"  --change 'CMD ["/bin/bash"]'

    в этом примере использована опция -C чтобы сменить текущий каталог при архивировании и дважды использована опция импорта --change, задающая в первом случае переменную окружения PATH, во втором - команду, которая будет вызываться по умолчанию при запуске контейнера (/bin/bash).

Если все операции выполнены успешно, то:

  1. Созданный образ должен отображаться в списке образов:

    Command
    sudo docker images


  2. В созданный образ можно войти выполнив команду:

    Command
    sudo docker run -it --rm wiki/astralinux:orel