Изменения документа Docker
Редактировал(а) sevstegneev 16.06.2025 15:06
Сводка
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -1,13 +1,13 @@ 1 1 = Установка = 2 2 3 3 {{code language="none"}} 4 - $sudo apt install docker.io4 +sudo apt install docker.io 5 5 {{/code}} 6 6 7 7 Добавить пользователя в группу docker, перелогиниться. 8 8 9 9 {{code language="none"}} 10 - $sudo usermod -aG docker ПОЛЬЗОВАТЕЛЬ10 +sudo usermod -aG docker ПОЛЬЗОВАТЕЛЬ 11 11 {{/code}} 12 12 13 13 = Работа в условиях замкнутой программной среды (ЗПС) = ... ... @@ -17,7 +17,7 @@ 17 17 Если контейнер не базируется на ОС ОСнова, для работы в режиме [[ЗПС>>doc:ОСнова.СЗИ.Замкнутая_программная_среда_(ЗПС).WebHome]], все его содержимое должно быть подписано. Это возможно сделать через наложение дампа: 18 18 19 19 {{code language="none"}} 20 - $setfattr --restore=<файл дампа>20 +setfattr --restore=<файл дампа> 21 21 {{/code}} 22 22 23 23 либо через подпись всех файлов экспортированного контейнера с последующей запаковкой (с учетом расширенных атрибутов) и импортом. ... ... @@ -24,20 +24,20 @@ 24 24 Например, рассмотрим [[Alpine Linux>>https://alpinelinux.org/]] : 25 25 26 26 {{code language="none"}} 27 - $docker pull alpine28 - $mkdir /tmp/alpine29 - $cd /tmp/alpine30 - $docker export - alpine | tar - -x31 - $for f in `find . -type f`27 +docker pull alpine 28 +mkdir /tmp/alpine 29 +cd /tmp/alpine 30 +docker export - alpine | tar - -x 31 +for f in `find . -type f` 32 32 do 33 33 sudo evmctl -k <закрытый ключ> ima_sign $f 34 34 done 35 - $sudo tar --xattrs-include=user.pax.flags --xattrs-include=security.ima \35 +sudo tar --xattrs-include=user.pax.flags --xattrs-include=security.ima \ 36 36 --xattrs-include=security.NESSCTX \ 37 37 -C /tmp/alpine -c . | docker import - alpine-signed 38 38 {{/code}} 39 39 40 -= Работа в условиях механизма за шиты памяти MPROTECT =40 += Работа в условиях механизма защиты памяти MPROTECT = 41 41 42 42 В контейнерах, которые не базируются на ОС ОСнова, некоторое ПО, например [[Java>>https://ru.wikipedia.org/wiki/Java]], не будет функционировать корректно на хосте под управлением ОС ОСнова с включенным механизмом [[защиты памяти MPROTECT>>doc:ОСнова.СЗИ.Защита_памяти.WebHome]]. Существует несколько способов решения данной проблемы: 43 43 ... ... @@ -45,13 +45,13 @@ 45 45 1. Установка в контейнер **paxrat** или ручная разметка исключений через: 46 46 47 47 {{code language="none"}} 48 - $sudo setfattr -n user.pax.flags -v m <filename>48 +sudo setfattr -n user.pax.flags -v m <filename> 49 49 {{/code}} 50 50 51 51 или через наложение дампа: 52 52 53 53 {{code language="none"}} 54 - $sudo setfattr --restore=<dump>54 +sudo setfattr --restore=<dump> 55 55 {{/code}} 56 56 57 57 (% start="3" %) ... ... @@ -75,8 +75,8 @@ 75 75 И перечитать конфигурацию, перезапустить [[docker>>https://ru.wikipedia.org/wiki/Docker]]. 76 76 77 77 {{code language="none"}} 78 - $sudo systemctl daemon-reload79 - $sudo systemctl restart docker78 +sudo systemctl daemon-reload 79 +sudo systemctl restart docker 80 80 {{/code}} 81 81 82 82 = Создание docker-образа на базе ОС ОСнова = ... ... @@ -86,18 +86,18 @@ 86 86 Создание docker-образа: 87 87 88 88 {{code language="none"}} 89 - $sudo apt install debootstrap90 - $sudo mount /dev/cdrom /mnt91 -(или $sudo mount -o loop onyx-Version-disk1.iso /mnt)92 - $mkdir /tmp/image93 - $cd /tmp/image94 - $sudo debootstrap --variant=minbase --keyring /usr/share/apt/osnova.gpg--components=main,contrib,non-free onyx onyx file:///mnt95 - $sudo tar --xattrs-include=user.pax.flags --xattrs-include=security.ima --xattrs-include=security.NESSCTX -C onyx/ -c . | sudo docker import - onyx96 - $sudo umount /mnt89 +sudo apt install debootstrap 90 +sudo mount /dev/cdrom /mnt 91 +(или sudo mount -o loop onyx-Version-disk1.iso /mnt) 92 +mkdir /tmp/image 93 +cd /tmp/image 94 +sudo debootstrap --variant=minbase --keyring /usr/share/apt/osnova.asc --components=main,contrib,non-free onyx onyx file:///mnt 95 +sudo tar --xattrs-include=user.pax.flags --xattrs-include=security.ima --xattrs-include=security.NESSCTX -C onyx/ -c . | sudo docker import - onyx 96 +sudo umount /mnt 97 97 {{/code}} 98 98 99 99 Запуск контейнера: 100 100 101 101 {{code language="none"}} 102 - $docker run -it --rm onyx bash102 +docker run -it --rm onyx bash 103 103 {{/code}}