我将我的笔记本电脑/主机的工作目录中的文件装入容器,我不确定为什么装载的文件归www-data
所有。 q
是在主机上创建的,因此它由root
拥有,正如预期的那样。
内部容器:
其他一些观察结果:
主机UID(我的OS X帐户):1783256022(不确定为什么会这样)
Container UID(www-data):33
Dockerfile:
FROM nginx:1.13.8
RUN apt-get update
RUN apt-get install -y nano && \
apt-get install -y git && \
apt-get install -y procps && \
apt-get install net-tools
RUN mkdir -p /var/www/html
WORKDIR /var/www/html
搬运工-compose.yml:
version: '3'
services:
web:
build:
context: ./docker/nginx
image: tc-web:0.1.0
container_name: tc-web
volumes:
- ./:/var/www/html/
- ./docker/nginx/.bashrc:/root/.bashrc
- ./docker/nginx/nginx.conf:/etc/nginx/nginx.conf
- ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf
ports:
- 8080:80
答案 0 :(得分:2)
当你在类Unix系统中使用卷挂载目录时,文件将保持与主机相同的权限(就gid而言)。这意味着在主机(可能是您的用户)中创建文件的uid与容器内的www-data用户具有相同的用户ID。
当您从容器内部创建文件时,由于容器以root用户身份运行,因此文件将由root用户拥有(在Container内部和外部)。