Разделить каталог хоста между несколькими контейнерами против SELinux

Совместное использование каталога хоста с контейнером докеров обычно достаточно просто:

$ docker create -v /path/to/hostdir:/path/inside/container --name conta ... 

Все усложняется, если задействован SELinux – например, SELinux, обеспечивающий принудительное использование контейнера Fedora 23 на ведущем докере SELinux (также Fedora 23).

В этом случае, судя по всему, нужно поручить докеру выполнить некоторую переделку:

 $ docker create -v /path/to/hostdir:/path/inside/container:Z --name conta ... 

Без суффикса :Z вы получаете разрешение отклонять ошибки при попытке чтения / записи файлов в общем каталоге хоста. С :Z все работает так, как ожидалось.

Но сбой :Z подход завершается с ошибкой, если каталог хоста должен совместно использоваться несколькими (SELinux-принудительными) контейнерами в одно и то же время:

 $ docker create -v /path/to/hostdir:/path/inside/container:Z --name conta ... $ docker create -v /path/to/hostdir:/path/inside/container:Z --name contb ... 

После второй команды «contb» может получить доступ к каталогу хоста, но «conta» больше не может получить к нему доступ (разрешение отклонено).

Похоже, что 2-ая повторная маркировка докеров недействительна первой.

Как это исправить в системе SELinux?

One Solution collect form web for “Разделить каталог хоста между несколькими контейнерами против SELinux”

Не уверен, что это поможет, так как я сейчас не играю с докером, но я очень близко к этим технологиям.

Существует хорошая статья от Дэна Уолша, описывающая разницу между :Z и :z в командах docker .

TL; DR, первый ( :Z ) использует метки безопасности для нескольких категорий (MCS), которые будут делать те же ярлыки с различными отдельными категориями для разных контейнеров.

Второй ( :z ) будет обозначать каталог с одинаковыми метками для каждого контейнера, и они должны иметь возможность одновременно обращаться к пути.

Если это не поможет, предоставьте AVC, которые вы получаете от докера. В противном случае это похоже на догадки.

  • Ошибка завершения работы Fedora 21 и перезагрузки
  • PHP на centos 6 не работает
  • Как отредактировать файл и сохранить его список управления доступом / контекст безопасности SELinux?
  • Неверная роль и тип при входе в систему
  • Каков безопасный способ запуска Java 7 на SELinux
  • 403 Запрещено на подпапки
  • Настроить vsftpd разрешить доступ к установленному файлу ISO
  • Как использовать SELinux для отклонения изменений приложений в домашнем каталоге?
  • Может ли selinux регистрировать имя владельца приложения?
  • SELinux Запись доступа для vsftpd и samba
  • Имеет ли смысл использовать SELinux внутри тюрьмы chroot?
  • Linux и Unix - лучшая ОС в мире.