【发布时间】:2018-05-11 19:50:03
【问题描述】:
当我使用以下命令运行 docker 容器时:
docker run -ti -v /tmp/michael:/opt/jboss/wildfly/standalone/log jboss
dockerd 使用所有者和组 = root 创建目录 /tmp/michael。这当然会导致 jboss 在尝试写入其日志文件时出现权限被拒绝错误。
我必须手动创建 /tmp/michael 并授予 chmod g+w 权限来修复它。 dockerd 然后以正确的权限重用现有的目录。这不是我想要的。有谁知道如何强制 dockerd 以正确的权限创建这些目录
附加信息:
Docker 文件:
FROM jboss/wildfly
ADD entrypoint.sh /
ENTRYPOINT "/entrypoint.sh"
entrypoint.sh :(为了测试目的,只需触摸文件而不是启动 jboss)
#!/usr/bin/env bash
chown jboss:jboss /opt/jboss/wildfly/standalone/log
myfile=lala.`date +"%s"`
touch /opt/jboss/wildfly/standalone/log/${myfile}
但即使在这里,如果 /tmp/michael 不存在并且没有组 +w 我确实收到权限被拒绝。我不知道如何摆脱它
【问题讨论】:
-
您需要直接访问主机上的文件,还是只需要在容器实例之间持久化文件?
-
我需要从主机直接访问这些文件。