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'擁有並且我怎樣才能改變這一點 –