Изменения документа Docker

Редактировал(а) atsarkov 18.04.2025 10:04

От версии 5.1
отредактировано Роман Воробьев
на 31.07.2021 18:07
Изменить комментарий: К данной версии нет комментариев
К версии 12.1
отредактировано Роман Воробьев
на 02.08.2021 01:08
Изменить комментарий: К данной версии нет комментариев

Сводка

Подробности

Свойства страницы
Содержимое
... ... @@ -1,17 +1,17 @@
1 1  Главной особенностью Docker в ОСнова является то, что контейнер работает в режимах [[защиты памяти PaX MPROTECT>>]] (ели не отключено) и [[замкнутой программной среды (ЗПС)>>]] (если включено).
2 2  
3 3  
4 -Если защита памяти PaX MPROTECT не отключена и контейнер не ОСнова, некоторое ПО работать в нем не будет. Например Java. Возможна установка paxrat или ручная разметка исключений через setfattr -n user.pax.flags -v m <filename>.
4 +Если контейнер не ОСнова, для работы в режиме **ЗПС**, его содержимое должно быть подписано. Это возможно сделать через наложение дампа setfattr ~-~-restore=, либо через подпись evmctl экспортированного контейнера с последующей запаковкой (с учетом расширенных атрибутов, tar ~-~-xattrs-include=user.pax.flags ~-~-xattrs-include=security.ima ~-~-xattrs-include=security.NESSCTX) и импортом.
5 5  
6 6  
7 -Если контейнер не ОСнова, для работы в режиме ЗПС, его содержимое должно быть подписано.
7 +Если защита памяти **PaX MPROTECT** не отключена и контейнер не ОСнова, некоторое ПО работать в нем не будет. Например Java. Возможна установка paxrat или ручная разметка исключений через setfattr -n user.pax.flags -v m <filename> или через chpax или через запуск контейнера в контексте безопасности **NESS**, отключающем защиту памяти **Pax MPROTECT**.
8 8  
9 9  
10 10  Контейнер может иметь определенный установленный контекст безопасности **NESS**. По умолчанию контекст пустой.
11 11  
12 -Возможен запуск всех контейнеров с контекстом, отключающим защиту памяти PaX MPROTECT.
12 +Возможен запуск всех контейнеров с контекстом, отключающим защиту памяти **PaX MPROTECT**.
13 13  
14 -Для этого в файле ** /lib/systemd/system/docker.service** в секции **[Service]**  дописать:
14 +Для этого в файле ** /lib/systemd/system/docker.service** в конце секции **[Service]**  дописать:
15 15  
16 16  
17 17  {{code language="none"}}
... ... @@ -18,21 +18,38 @@
18 18  NESSCTX=t=30,50
19 19  {{/code}}
20 20  
21 +И перезагрузить Docker.
21 21  
23 +{{code language="none"}}
24 +sudo systemctl daemon-reload
25 +sudo systemctl restart docker
26 +{{/code}}
27 +
22 22  = Установка =
23 23  
24 -= =
30 += =
25 25  
26 26  {{code language="none"}}
27 27  sudo apt install docker.io
28 28  {{/code}}
29 29  
36 +Добавить пользователя в группу docker, перелогиниться.
30 30  
38 +{{code language="none"}}
39 +sudo usermod -aG docker ПОЛЬЗОВАТЕЛЬ
40 +{{/code}}
41 +
31 31  = Создание образа ОСнова =
32 32  
33 -
34 34  {{code language="none"}}
35 35  sudo debootstrap --variant=minbase --keyring /usr/share/apt/osnova.gpg --components=main,contrib,non-free onyx onyx http://ftp.ct/OSNova/testing/onyx/mounted-iso-main-disk1
36 36  
37 37  sudo tar --xattrs-include=user.pax.flags --xattrs-include=security.ima --xattrs-include=security.NESSCTX -C onyx/ -c . | docker import - onyx
38 38  {{/code}}
49 +
50 += Тестовый запуск контейнера =
51 +
52 +
53 +{{code language="none"}}
54 +docker run -it onyx bash
55 +{{/code}}