簡體   English   中英

弄清楚 Docker 主機卷權限

[英]Figuring out Docker host volume permissions

我正在嘗試運行 gocd 服務器 docker 映像並面臨文件權限問題。 似乎無法弄清楚我錯過了什么。

找出容器中正在使用的 uid/gid:

]$ sudo docker container run gocd/gocd-server:v21.1.0 id
$ exec /usr/local/sbin/tini -g -- id
uid=1000(go) gid=0(root) groups=0(root)
[centos@ip-10-0-0-168 ~]$ 

在本地主機上創建一個文件夾並設置所有權:

$ sudo mkdir -p /gocd/data
[centos@ip-10-0-0-168 ~]$ sudo chown -R 1000:0 /gocd/
[centos@ip-10-0-0-168 ~]$ 
[centos@ip-10-0-0-168 ~]$ ls -l /
total 16
lrwxrwxrwx.   1 root   root    7 Feb 29  2020 bin -> usr/bin
:
drwxr-xr-x.   3 centos root   18 Feb  8 15:55 gocd
:

Docker 運行:

$ sudo docker run  -v /gocd/data/:/godata -p 8153:8153 gocd/gocd-server:v21.1.0
/docker-entrypoint.sh: Creating directories and symlinks to hold GoCD configuration, data, and logs
$ mkdir -v -p /godata/artifacts
mkdir: can't create directory '/godata/artifacts': Permission denied
/docker-entrypoint.sh: cannot mkdir -v -p /godata/artifacts
[centos@ip-10-0-0-168 ~]$ 

好的,所以我沒有chown -R 1000:00 /gocd ,而是切換到chown -R 1000:root ,這樣我就可以啟動容器了。

盡管在這兩種情況下, ls -l 的 output 都顯示相同的用戶和組:

drwxr-xr-x.   3 centos root   18 Feb  9 01:36 gocd

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM