Насколько я знаю - ты не можешь. Я полагаю, вам нужно создать пользовательскую точку входа, в которой вы можете установить необходимые разрешения.
Что-то в этом роде (это docker-entrypoint.sh ):
#!/bin/bash
set -e
user=dev
user_id=${USER_ID:-1000}
if ! id "${user}" > /dev/null 2>&1; then
useradd -u ${user_id} -m -s /bin/bash ${user} > /dev/null 2>&1
fi
mount_path=/some_mountpoint
mount_path_owner=$(ls -ld ${mount_path} | awk '{print $3}')
if [ "${user}" != "${mount_path_owner}" ]; then
chown -R ${user}:${user} ${mount_path}
fi
exec gosu ${user} "${@}"
Также необходимо Госу в вашем контейнере.
Так что ваш docker-compose.yml может выглядеть так:
version: '3.7'
services:
xxx:
entrypoint: ./docker-entrypoint.sh # <- use the custom entrypoint
container_name: xxx
image: xxx
volumes:
- config:/some_mountpoint
volumes:
config: # <- this volume