如何在容器 docker 中反映主机权限?

我知道不可能更改通过卷共享的文件的权限,因为默认情况下,据我所知,docker 容器的权限反映了主机的权限,但是,这不会发生在我的情况是,docker 只是将所有文件的权限更改为 755,并且某些文件必须具有特定权限。

主持人:

http://img3.mukewang.com/643a64b700017af204720068.jpg

码头工人容器:

http://img4.mukewang.com/643a64c20001092d04630101.jpg

码头文件:


FROM ubuntu:18.04


ARG DEBIAN_FRONTEND=noninteractive


#Updating operating system

RUN apt-get update && apt-get -y upgrade && apt-get -y dist-upgrade


##Installing essential packages

RUN apt-get -y install apt-utils software-properties-common curl bash-completion vim git supervisor



## Add Scripts

ADD ./start.sh /start.sh

EXPOSE  80

STOPSIGNAL SIGTERM

#CMD ["/start.sh"]

ENTRYPOINT echo $XDEBUG_CONFIG >> /etc/php/7.3/fpm/php.ini && service php7.3-fpm start && nginx -g "daemon off;"

docker-compose.yml


volumes:

  - ${DOCUMENT_ROOT-./www}:/usr/share/nginx/html

  - ${VHOSTS_DIR-./config/nginx/sites-enabled}:/etc/nginx/sites-enabled

  - ${PHP_INI-./config/php/php.ini}:/etc/php/7.3/fpm/conf.d/php.ini

  - ${LOG_DIR-./logs/nginx}:/var/log/nginx


小唯快跑啊
浏览 95回答 1
1回答

慕哥6287543

你的假设我知道不可能更改通过卷共享的文件的权限仅部分正确,实际上有一组模式 — :ro& :rw— 您可以在通过文档中描述的 docker-compose 安装卷时使用:标准模式ro用于只读和rw读写(默认)。如果您的主机使用 .,您也可以使用:Z和模式。:zselinux如果使用,selinux可以添加z或选项来修改挂载到容器中的主机文件或目录Z的 selinux 标签。这会影响主机本身上的文件或目录,并可能产生 Docker 范围之外的后果。该z选项表示绑定挂载内容在多个容器之间共享。该Z选项表示绑定装载内容是私有的且不共享的。使用这些选项时要格外小心。绑定安装一个系统目录,如/home或/usr选项Z会使您的主机无法操作,您可能需要手动重新标记主机文件。这是一个示例,在我的主机上,这是我的文件的权限:~ # ls -la ro rw ro:total 0drwxr-xr-x  3 ben  staff   96 May 23 23:06 .drwxr-xr-x  9 ben  staff  288 May 23 23:16 ..-rw-r--r--  1 ben  staff    0 May 23 23:06 filerw:total 0drwxr-xr-x  3 ben  staff   96 May 23 23:06 .drwxr-xr-x  9 ben  staff  288 May 23 23:16 ..-rwxr-xr-x  1 ben  staff    0 May 23 23:06 file然后用这个docker-compose.ymlversion: '3.8'services:  test:    image: alpine    volumes:      - ./ro:/root/ro:Z      - ./rw:/root/rw:Z    command: sleep 100000000000这是容器上的结果~ # ls -la ro rwro:total 4drwxr-xr-x    3 root     root            96 May 23 21:06 .drwx------    1 root     root          4096 May 23 21:17 ..-rw-r--r--    1 root     root             0 May 23 21:06 filerw:total 4drwxr-xr-x    3 root     root            96 May 23 21:06 .drwx------    1 root     root          4096 May 23 21:17 ..-rwxr-xr-x    1 root     root             0 May 23 21:06 file
打开App,查看更多内容
随时随地看视频慕课网APP