docker 給容器設定許可權
阿新 • • 發佈:2021-02-07
背景
如果預設執行容器的話,容器的預設許可權會是root級別,這會帶來很多不穩定的因素,例如容器可能修改一些只有root使用者能修改的東西,假如使用nobody的話,又會造成容器想寫入一些普通檔案,會因為沒有許可權而被宿主主機拒絕.
怎樣設定許可權呢?
我採用的是docker-compose 設定 .env (預設為.env,當然你可以指明是哪個XX.env,如果沒有指明,會尋找同目錄下的.env檔案)檔案實現
首先在dockers-compose 檔案中加入.env
services: xxx: env_file: - sample.env user: "${UID}:${GID}"
在同目錄下建立sample.env檔案,內容如下:
UID=1000
GID=1000
設定docker-compose環境
source sample.env
export $(cut -d= -f1 sample.env)
docker-compose config 使用命令檢視
docker-compose up 即啟動了非root使用者,但又可以操作檔案的許可權使用者容器.