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

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

Ключ

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

Оглавление

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



Информация
titleДанная статья применима к:
  • ОС ОН Орёл 2.12
    • 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
    ОС СН Смоленск 1.6


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

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

    Command
    sudo apt -y install debootstrap docker.io

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

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

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


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

        Command
        sudo debootstrap --verbose --components=main,contrib,non-free orel ./chroot-orel https://dl.astralinux.ru/astra/current/orel/repository/

        Для ОС СН опция установки компонент main,contrib,non-free обязательна, без неё образ ОС СН собран не будет:

        Command

        sudo debootstrap --verbose --components=main,contrib,non-free smolensk chroot-smolensk16 ftp://server/astra/current/smolensk/mounted-iso-main


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

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



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

        Command
        sudo cp /etc/resolv.conf chroot-orel/etc/resolv.conf
        sudo nano chroot-orel/etc/apt/sources.list


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

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

        exit


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

      Command
      sudo tar -C 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