Изменения документа Docker
Редактировал(а) sevstegneev 16.06.2025 15:06
От версии 103.2
отредактировано sevstegneev
на 16.06.2025 15:06
на 16.06.2025 15:06
Изменить комментарий:
К данной версии нет комментариев
Сводка
-
Свойства страницы (2 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Автор документа
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki.s evstegneev1 +XWiki.atsarkov - Содержимое
-
... ... @@ -1,28 +1,13 @@ 1 -(% class="box message" style="float:right; width:50%" %) 2 -((( 3 -Применимо к: 1 += Установка = 4 4 5 -* ОС "ОСнова" 2.x onyx 6 -* ОС "ОСнова" 3.x onyx 7 -))) 8 - 9 - 10 -{{toc/}} 11 - 12 - 13 - 14 ----- 15 - 16 -= Установка Docker = 17 - 18 18 {{code language="none"}} 19 -sudo apt install docker.io 4 +$ sudo apt install docker.io 20 20 {{/code}} 21 21 22 22 Добавить пользователя в группу docker, перелогиниться. 23 23 24 24 {{code language="none"}} 25 -sudo usermod -aG docker ПОЛЬЗОВАТЕЛЬ 10 +$ sudo usermod -aG docker ПОЛЬЗОВАТЕЛЬ 26 26 {{/code}} 27 27 28 28 = Работа в условиях замкнутой программной среды (ЗПС) = ... ... @@ -32,7 +32,7 @@ 32 32 Если контейнер не базируется на ОС ОСнова, для работы в режиме [[ЗПС>>doc:ОСнова.СЗИ.Замкнутая_программная_среда_(ЗПС).WebHome]], все его содержимое должно быть подписано. Это возможно сделать через наложение дампа: 33 33 34 34 {{code language="none"}} 35 -setfattr --restore=<файл дампа> 20 +$ setfattr --restore=<файл дампа> 36 36 {{/code}} 37 37 38 38 либо через подпись всех файлов экспортированного контейнера с последующей запаковкой (с учетом расширенных атрибутов) и импортом. ... ... @@ -39,20 +39,20 @@ 39 39 Например, рассмотрим [[Alpine Linux>>https://alpinelinux.org/]] : 40 40 41 41 {{code language="none"}} 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` 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` 47 47 do 48 48 sudo evmctl -k <закрытый ключ> ima_sign $f 49 49 done 50 -sudo tar --xattrs-include=user.pax.flags --xattrs-include=security.ima \ 35 +$ sudo tar --xattrs-include=user.pax.flags --xattrs-include=security.ima \ 51 51 --xattrs-include=security.NESSCTX \ 52 52 -C /tmp/alpine -c . | docker import - alpine-signed 53 53 {{/code}} 54 54 55 -= Работа в условиях механизма за щиты памяти MPROTECT =40 += Работа в условиях механизма зашиты памяти MPROTECT = 56 56 57 57 В контейнерах, которые не базируются на ОС ОСнова, некоторое ПО, например [[Java>>https://ru.wikipedia.org/wiki/Java]], не будет функционировать корректно на хосте под управлением ОС ОСнова с включенным механизмом [[защиты памяти MPROTECT>>doc:ОСнова.СЗИ.Защита_памяти.WebHome]]. Существует несколько способов решения данной проблемы: 58 58 ... ... @@ -60,13 +60,13 @@ 60 60 1. Установка в контейнер **paxrat** или ручная разметка исключений через: 61 61 62 62 {{code language="none"}} 63 -sudo setfattr -n user.pax.flags -v m <filename> 48 +$ sudo setfattr -n user.pax.flags -v m <filename> 64 64 {{/code}} 65 65 66 66 или через наложение дампа: 67 67 68 68 {{code language="none"}} 69 -sudo setfattr --restore=<dump> 54 +$ sudo setfattr --restore=<dump> 70 70 {{/code}} 71 71 72 72 (% start="3" %) ... ... @@ -90,8 +90,8 @@ 90 90 И перечитать конфигурацию, перезапустить [[docker>>https://ru.wikipedia.org/wiki/Docker]]. 91 91 92 92 {{code language="none"}} 93 -sudo systemctl daemon-reload 94 -sudo systemctl restart docker 78 +$ sudo systemctl daemon-reload 79 +$ sudo systemctl restart docker 95 95 {{/code}} 96 96 97 97 = Создание docker-образа на базе ОС ОСнова = ... ... @@ -101,18 +101,18 @@ 101 101 Создание docker-образа: 102 102 103 103 {{code language="none"}} 104 -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:///mnt110 -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 89 +$ 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.gpg --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 112 112 {{/code}} 113 113 114 114 Запуск контейнера: 115 115 116 116 {{code language="none"}} 117 -docker run -it --rm onyx bash 102 +$ docker run -it --rm onyx bash 118 118 {{/code}}