1. 程式人生 > 其它 >docker 給容器設定許可權

docker 給容器設定許可權

技術標籤:Docker程式設計工具linux

背景

如果預設執行容器的話,容器的預設許可權會是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使用者,但又可以操作檔案的許可權使用者容器.

專案結構

在這裡插入圖片描述