为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP
小唯快跑啊 2023-04-15 16:47:26
我知道不可能更改通过卷共享的文件的权限,因为默认情况下,据我所知,docker 容器的权限反映了主机的权限,但是,这不会发生在我的情况是,docker 只是将所有文件的权限更改为 755,并且某些文件必须具有特定权限。主持人:码头工人容器:码头文件:FROM ubuntu:18.04ARG DEBIAN_FRONTEND=noninteractive#Updating operating systemRUN apt-get update && apt-get -y upgrade && apt-get -y dist-upgrade##Installing essential packagesRUN apt-get -y install apt-utils software-properties-common curl bash-completion vim git supervisor## Add ScriptsADD ./start.sh /start.shEXPOSE  80STOPSIGNAL 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.ymlvolumes:  - ${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
查看完整描述

1 回答

?
慕哥6287543

TA贡献1831条经验 获得超10个赞

你的假设

我知道不可能更改通过卷共享的文件的权限

仅部分正确,实际上有一组模式 — :ro:rw— 您可以在通过文档中描述的 docker-compose 安装卷时使用:

标准模式ro用于只读和rw读写(默认)。

如果您的主机使用 .,您也可以使用:Z和模式。:zselinux

如果使用,selinux可以添加z或选项来修改挂载到容器中的主机文件或目录Z的 selinux 标签。这会影响主机本身上的文件或目录,并可能产生 Docker 范围之外的后果。

  • z选项表示绑定挂载内容在多个容器之间共享。

  • Z选项表示绑定装载内容是私有的且不共享的。

使用这些选项时要格外小心。绑定安装一个系统目录,如/home/usr选项Z会使您的主机无法操作,您可能需要手动重新标记主机文件。

这是一个示例,在我的主机上,这是我的文件的权限:

~ # ls -la ro rw 

ro:

total 0

drwxr-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 file


rw:

total 0

drwxr-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.yml


version: '3.8'


services:

  test:

    image: alpine

    volumes:

      - ./ro:/root/ro:Z

      - ./rw:/root/rw:Z

    command: sleep 100000000000

这是容器上的结果


~ # ls -la ro rw

ro:

total 4

drwxr-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 file


rw:

total 4

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


查看完整回答
反对 回复 2023-04-15
  • 1 回答
  • 0 关注
  • 94 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信