docker 主机卷需要什么权限?

What permissions are required for docker host volume?

我用 mysql 创建了一个 docker 图像。我在 Dockerfile 中使用 VOLUME 命令定义挂载卷:

VOLUME ["/var/lib/mysql/"]

并告诉它在 运行:

时挂载卷
docker run -v /media/user/encrypted/:/var/lib/mysql/ mysql_with_secrets 

[为简单起见省略其他参数]

问题是容器没有启动。当使用主路径中的文件夹而不是 /media/user/encrypted/ 安装卷时,容器会启动。 /media/user/encrypted/是我的用户和root组拥有的挂载加密分区

我尝试了各种方法改变分区的所有权,但仍然无法让容器启动。这种情况下权限应该是多少?

谢谢!

您需要识别容器内进程 运行 的用户 ID,并更改该用户 ID 的卷路径或使该卷全局可写(推荐第一个)。如果您的图像(意味着里面的用户 ID)在任何时候发生变化,这将会中断。