Я хочу доставить свое приложение клиентам в виде образа докера. Но очень важно, чтобы конечный пользователь ничего не изменял внутри контейнера. Пользователь должен иметь возможность только запускать / останавливать контейнер и взаимодействовать с контейнером через сеть.
Можно ли запретить доступ к внутренним контейнерам? Можно ли проверить целостность изображения, из которого сделан контейнер?
Ответы:
Короче говоря, вы не можете запретить своим клиентам изменять контейнеры, которые они запускают в своей собственной инфраструктуре. Контейнеры не похожи на двоичные файлы, которые могут быть запутаны; они среды выполнения. Однако код, который вы распространяете внутри контейнера, может быть запутан.
Ваш вопрос связан со сторонней проблемой поддержки: клиенты, модифицирующие программное обеспечение, работают в своих собственных средах. Если вы предоставляете инструменты для работы с контейнерами, которые вы поставляете (например, для мониторинга и регистрации), клиенты должны согласиться (как часть лицензии на программное обеспечение) не вносить в них несанкционированные изменения. Это относится ко всем типам стороннего программного обеспечения, а не только к контейнерам.
В зависимости от вашей ситуации у вас также может быть возможность предоставить свое приложение в виде программного обеспечения как услуги (SaaS), работающего в облачной инфраструктуре.
Если ваш клиент требует, чтобы ваши контейнеры работали в их инфраструктуре, и отказывается соблюдать ограничения на изменение, то вы, вероятно, не захотите поддерживать их использование вашего программного обеспечения.
источник
Docker не предоставляет каких-либо средств, препятствующих доступу пользователя к контейнеру, однако в качестве разработчика изображений вы могли бы придерживаться нескольких стратегий
Конечно, они всегда могут вывезти контейнер и упаковать его, но это крайние меры ...
источник
Вы можете удалить пользователей из группы Docker и создать sudos для
docker start
иdocker stop
.источник
Если ваш клиент готов вкладывать деньги, тогда вам следует воспользоваться версией Docker для предприятий. В Docker EE у вас есть один инструмент -
UCP(Universal Control Plane)
UCP . С помощью UCP вы можете создавать роли и права доступа и ограничивать пользователя в изменении / изменении контейнеров.Если вы хотите протестировать UCP, чем DDC (Docker Data Center) с месячной пробной лицензией, которая поможет вам разработать все в соответствии с вашими требованиями.
Надеюсь, это поможет!
Спасибо!
источник
Дайте свою доставку с помощью скриптов. Сохраняйте все виды ограничений и проверок в скрипте ansible.
источник