【发布时间】:2020-01-07 13:27:24
【问题描述】:
我正在尝试对我的主机上的所有服务进行 dockerize。但是我在 Docker 和主机和 docker 之间的卷权限方面遇到了以下问题。
我有一台具有以下文件夹结构的主机:
- /data/mysql (user: docker-mysql)
- /data/gitlab (user: docker-gitlab)
- /data/backup (user: share-backup)
/data/mysql:/mnt/mysql 文件夹正在安装到 mysql docker 容器中。 docker mysql 容器每 24 小时创建一次备份,但是由于 docker 容器在用户 root 上运行,这些备份在 /data/mysql 文件夹中以用户 root 和组 root 的身份创建。
我要实现的目标是将 /data/mysql 文件夹中的文件创建为 docker-mysql 用户,而不是 root 用户。
我试图通过设置RUN groupadd -r docker-mysql && useradd -r -g docker-mysql docker-mysql和USER docker-mysql将docker容器的用户更改为另一个用户,但是mysql容器甚至不再启动,因为docker-mysql用户似乎没有根权限。我也在 Gitlab-CE docker 映像上尝试过这个,但遇到了同样的问题,即以不同的用户身份运行 Gitlab-CE 会引发权限错误。
知道如何使用正确的用户将文件写入主机上的例如/data/mysql吗?
【问题讨论】:
-
你用的是哪个mysql镜像?
标签: docker permissions volumes