首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为docker-组合中的每个卷设置用户权限

为docker-组合中的每个卷设置用户权限
EN

Stack Overflow用户
提问于 2022-04-05 08:25:19
回答 1查看 2.7K关注 0票数 0

这是我的docker撰写文件,我有两个已挂载的卷,每个卷都需要一个不同的用户和组所有者。

代码语言:javascript
运行
复制
version: '3'
services:

  mysql:
    image: mysql:5.7
    command: --default-authentication-plugin=mysql_native_password
    container_name: mysql
    restart: unless-stopped
    ports:
      - 3306:3306
    user: ${USER_ID}:${GROUP_ID}
    volumes:
      - "./storage/etc/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf"
      - "./storage/var/log/mysql:/var/log/mysql"

  phpmyadmin:
    image: phpmyadmin:5.1.1
    container_name: phpmyadmin
    restart: always
    ports:
      - 8080:80

如果我应用这个码头-组成所有这些卷将有相似的用户和组所有者

我希望为每个卷设置一个指定的用户所有者。

EN

回答 1

Stack Overflow用户

发布于 2022-04-05 10:56:38

Docker和Compose都没有任何选项来更改卷或绑定挂载目录中文件的所有权。

将文件和目录挂载到mysql容器中。它们都将拥有主机上的数字用户和组所有者。这些数字in可能存在于容器的/etc/passwd文件中,也可能不存在,但通常并不重要。在Docker中无法更改文件所有权,除非容器以根用户身份运行,并作为启动序列的一部分运行chown(1)。

如果这两件事拥有不同的所有权,那么在启动容器之前,您可能需要在主机上更改这一点。

代码语言:javascript
运行
复制
sudo chown -R "${USER_ID}" ./storage

实际上,只要mysqld.cnf文件是可读的,并且容器以$USER_ID作为日志目录的所有者运行,容器可能会成功运行。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71748478

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档