2
我正在尝试为我的web应用程序创建一个docker-compose的docker图像。我的Web应用程序需要在文件系统上写入文件的权限。非root用户的Docker-compose卷创建
我Dockerfile包含
# some other stuff
RUN addgroup -S web && adduser -S -g web web
USER web
我想挂载我目前.
目录/code
在泊坞窗容器;
当我执行docker-compose build
& & docker-compose up
,它发生,我/code
目录中的容器是拥有用户“1000:1000”,我在Dockerfile创建不是我的用户。
version: '2'
services:
admin:
build:
context: .
dockerfile: Dockerfile
command: python manage.py 0.0.0.0 8030
volumes:
- .:/code
ports:
- 9000:8030
stdin_open: true
tty: true
volumes:
.:
driver_opts:
o: uid=100,gid=65533
正如你所看到的,我试图用我的用户uid和gid参数传递driver_opts;但它没有帮助。
我的问题是:我应该如何将我的目录.
设置为/code
,并以docker container权限挂载用户web
?
操作系统:Ubuntu的16.04
泊坞窗版本17.09.0策
泊坞窗,撰写版本1.8.0
是的,差不多这个。通过明确地设置用户uid和gid来解决这个问题:'RUN addgroup -S web -g 1000 && adduser -u 1000 -G web -D web'。它通过编写权限解决了我的问题。但是为什么我的音量总是由'1000:1000'拥有并且我怎样才能改变这一点 –