gpt4 book ai didi

macos - Docker-Compose挂载文件不属于root

转载 作者:行者123 更新时间:2023-12-02 19:07:17 26 4
gpt4 key购买 nike

我正在将笔记本电脑/主机的工作目录中的文件装载到容器中,但不确定为什么装载的文件归www-data拥有。 q是在主机上创建的,因此它是root所拥有的,与预期的一样。

内部容器:

enter image description here

其他一些观察结果:

主机UID(我的OS X帐户):1783256022(不确定为什么会这样)

容器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

docker-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

最佳答案

当您在类似Unix的系统中使用卷装载目录时,文件将保持与主机在uid gid方面相同的权限。这意味着在您的主机(可能是您的用户)中创建文件的uid具有与容器内www-data用户相同的用户ID。

当您从容器内部创建文件时,由于容器是以root用户身份运行的,因此文件将由root用户拥有(容器内部和外部)。

关于macos - Docker-Compose挂载文件不属于root,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48410094/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com