Добавление пользователя внутри контейнера docker в goup в хост-системе

#docker #docker-compose

#docker #docker-compose

Вопрос:

Я хочу смонтировать сокет docker в качестве тома в Conatiner. Программа запускается как пользователь, не являющийся пользователем root, и, следовательно, не является частью группы docker и не имеет разрешений для сокета docker.

Я не хочу делать сокет доступным для всех и не хочу запускать программу от имени root. Также я использую docker-compose и не хочу переключаться на обычный docker.

Итак, мне как-то нужно добавить группу docker к пользователю, не являющемуся пользователем root, но во время сборки я не могу получить идентификатор группы docker. Создание группы docker не помогает, потому что gid неверен (не совпадает).

Во время выполнения в контейнере программа запускается как некорневая и, следовательно, пропускает разрешение на добавление себя в группу docker.

Я прочитал это https://docs.docker.com/compose/compose-file/compose-file-v2/#group_add это кажется тем, что я хочу, но я не могу найти в версии 3 спецификации docker-compose.

Есть идеи?

Комментарии:

1. github.com/docker/compose/issues/4700 звучит так, как будто это невозможно с версии 3, что кажется довольно грустным

2. Compose file v3 больше ориентирован на настройки Swarm; есть несколько других опций, которых нет в версии v2. Разумно продолжать использовать version: '2.4' , если вам нужны параметры, которых нет в формате v3.