Docker-compose set user and group on mounted volume

前端 未结 4 505
感情败类
感情败类 2020-12-07 15:36

I\'m trying to mount a volume in docker-compose to apache image. The problem is, that apache in my docker is run under www-data:www-data but the mounted directo

4条回答
  •  心在旅途
    2020-12-07 15:58

    First determine the uid of the www-data user:

    $ docker exec DOCKER_CONTAINER_ID id
    uid=100(www-data) gid=101(www-data) groups=101(www-data)
    

    Then, on your docker host, change the owner of the mounted directory using the uid (100 in this example):

    chown -R 100 ./
    

    Dynamic Extension

    If you are using docker-compose you may as well go for it like this:

    $ docker-compose exec SERVICE_NAME id
    uid=100(www-data) gid=101(www-data) groups=101(www-data)
    $ chown -R 100 ./
    

    You can put that in a one-liner:

    $ chown -r $(docker-compose exec SERVICE_NAME id -u) ./
    

    The -u flag will only print the uid to stdout.

提交回复
热议问题