【发布时间】:2019-08-04 15:26:31
【问题描述】:
我在任何地方都找不到答案,为什么 docker 会更改作为卷挂载的文件的所有者。之前docker run:
$ ls -la
total 56
drwxrwxr-x 9 ci ci 4096 Mar 13 21:13 .
drwxrwxr-x 4 ci ci 4096 Mar 13 21:12 ..
-rw-rw-r-- 1 ci ci 1108 Mar 13 21:13 application.yml
drwxrwxr-x 5 ci ci 4096 Mar 13 21:13 ci
drwxrwxr-x 5 ci ci 4096 Mar 13 21:13 config
drwxrwxr-x 3 ci ci 4096 Mar 13 21:13 database
-rw-rw-r-- 1 ci ci 2779 Mar 13 21:13 Dockerfile
drwxrwxr-x 3 ci ci 4096 Mar 13 21:13 docker-stuff
drwxrwxr-x 8 ci ci 4096 Mar 13 21:13 .git
-rw-rw-r-- 1 ci ci 137 Mar 13 21:13 .gitignore
-rwxrwxr-x 1 ci ci 6366 Mar 13 21:13 image.sh
docker run之后:
$ ls -la
total 60
drwxrwxr-x 10 administrator administrator 4096 Mar 13 21:15 .
drwxrwxr-x 4 ci ci 4096 Mar 13 21:12 ..
-rw-rw-r-- 1 administrator administrator 1108 Mar 13 21:13 application.yml
drwxrwxr-x 5 administrator administrator 4096 Mar 13 21:13 ci
drwxrwxr-x 5 ci ci 4096 Mar 13 21:13 config
drwxrwxr-x 3 administrator administrator 4096 Mar 13 21:13 database
-rw-rw-r-- 1 administrator administrator 2779 Mar 13 21:13 Dockerfile
drwxrwxr-x 3 administrator administrator 4096 Mar 13 21:13 docker-stuff
drwxrwxr-x 8 administrator administrator 4096 Mar 13 21:13 .git
-rw-rw-r-- 1 administrator administrator 137 Mar 13 21:13 .gitignore
-rwxrwxr-x 1 administrator administrator 6366 Mar 13 21:13 image.sh
完整的docker run 命令是:
docker run -d \
--rm \
--name "$CONTAINER_NAME" \
-p "$SHINY_HOST_PORT:3838" \
-p "$RSTUDIO_HOST_PORT:8787" \
-v "$DATA_DIR_ON_HOST":"$DATA_DIR_IN_CONTAINER" \
-v "$CONFIG_DIR_ON_HOST":"$CONFIG_DIR_IN_CONTAINER" \
-v $(pwd):"/data/" \
"$DOCKER_IMAGE":"$DOCKER_TAG"
我的用户组是:
$ groups
ci sudo docker administrator
你知道为什么会这样吗?
【问题讨论】:
标签: docker permissions docker-volume chown owner