Изменения документа Docker
Редактировал(а) sevstegneev 16.06.2025 15:06
От версии 99.1
отредактировано atsarkov
на 20.06.2024 10:06
на 20.06.2024 10:06
Изменить комментарий:
К данной версии нет комментариев
К версии 103.2
отредактировано sevstegneev
на 16.06.2025 15:06
на 16.06.2025 15:06
Изменить комментарий:
К данной версии нет комментариев
Сводка
-
Свойства страницы (2 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Автор документа
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. atsarkov1 +XWiki.sevstegneev - Содержимое
-
... ... @@ -1,13 +1,28 @@ 1 -= Установка = 1 +(% class="box message" style="float:right; width:50%" %) 2 +((( 3 +Применимо к: 2 2 5 +* ОС "ОСнова" 2.x onyx 6 +* ОС "ОСнова" 3.x onyx 7 +))) 8 + 9 + 10 +{{toc/}} 11 + 12 + 13 + 14 +---- 15 + 16 += Установка Docker = 17 + 3 3 {{code language="none"}} 4 - $sudo apt install docker.io19 +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 ПОЛЬЗОВАТЕЛЬ25 +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=<файл дампа>35 +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`42 +docker pull alpine 43 +mkdir /tmp/alpine 44 +cd /tmp/alpine 45 +docker export - alpine | tar - -x 46 +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 \50 +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 =55 += Работа в условиях механизма защиты памяти 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>63 +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>69 +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 docker93 +sudo systemctl daemon-reload 94 +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 /mnt104 +sudo apt install debootstrap 105 +sudo mount /dev/cdrom /mnt 106 +(или sudo mount -o loop onyx-Version-disk1.iso /mnt) 107 +mkdir /tmp/image 108 +cd /tmp/image 109 +sudo debootstrap --variant=minbase --keyring /usr/share/keyrings/osnova.gpg --components=main,contrib,non-free onyx onyx file:///mnt 110 +sudo tar --xattrs-include=user.pax.flags --xattrs-include=security.ima --xattrs-include=security.NESSCTX -C onyx/ -c . | sudo docker import - onyx 111 +sudo umount /mnt 97 97 {{/code}} 98 98 99 99 Запуск контейнера: 100 100 101 101 {{code language="none"}} 102 - $docker run -it --rm onyx bash117 +docker run -it --rm onyx bash 103 103 {{/code}}