Хорошо, я не уверен, что это лучший способ решить эту проблему, но на данный момент я могу обойти эту проблему. Пожалуйста, дайте мне знать, если это совсем глупо и есть ли лучшие решения.
Я попытался запустить контейнер с самим docker
и передать --user "$(id -u):$(id -g)"
, и это сработало.
К сожалению, мы не можем сделать sub bash команд в файле docker-compose
, поэтому мне пришлось создать свой собственный сценарий, который устанавливает переменную среды и запускает docker -compose:
DOCKER_COMPOSE_USER=$(id -u):$(id -g) docker-compose up -d
И в docker-compose.yml
:
user: ${DOCKER_COMPOSE_USER}
Вот и все!