Передача --security-opt seccomp:filename.json в контейнер в Docker Swarm
Мне нужно передать пользовательский файл профиля seccomp в контейнер, работающий на рое Docker. Это легко сделать, и он отлично работает с автономным контейнером, используя опцию --security-opt. Проблема возникает, когда вы пытаетесь передать его контейнеру, работающему на рое. Документация Docker compose file ver 3 однозначно гласит, что опция --security-opt игнорируется для развертываний роя: https://docs.docker.com/compose/compose-file/
Как я могу передать пользовательский профиль seccomp в контейнер или службу при развертывании на рое? Есть ли другой способ изменить системные ограничения для контейнеров? cap_add и / или cap_drop не являются опцией. Есть идеи? Бесконечно благодарен!
1 ответ
Сейчас нет возможности сделать это в режиме Swarm. Если у вас есть контейнеры, требующие этих опций, вам нужно будет запустить их вне режима Swarm.
Чтобы отслеживать прогресс при добавлении этой функции:
- Проблема Moby / Moby #25209 (выше по течению от Docker-CE): https://github.com/moby/moby/issues/25209
- Выпуск Swarmkit № 1030: https://github.com/docker/swarmkit/issues/1030
- Libentitlement: https://github.com/moby/libentitlement
Цель состоит в том, чтобы libentitlement предоставил простой способ настройки возможностей, seccomp и других функций безопасности с упрощенным пользовательским интерфейсом. То, произойдет ли это сначала или Swarmkit реализует что-то напрямую, зависит от людей, подающих PR.