繁体   English   中英

使用 Apache httpd.conf 文件的 Docker 卷权限

[英]Docker Volume Permissions with Apache httpd.conf file

致力于学习 linux、Docker 和 Docker Volumes。 我想启动一个 httpd 容器,该容器在我的本地机器上引用一个httpd.conf文件,其中包含加载了正确模块的代理和负载平衡代码。 我已经手动弄清楚了,但现在我想尝试使用卷来简化过程。

我的问题是在尝试运行容器时出现权限错误。 我在 VM 上使用 CentOS 7,当我尝试启动容器时收到SELinux Alert 我相信这是一个权限问题,我已经更改了本地计算机上的权限,以便任何人都可以访问目录和httpd.conf文件,但我相信实际问题出在 httpd 容器权限内。

我如何允许音量工作? 如果我在这里的信息太模糊,请让我知道要提供哪些其他信息,仍在学习 linux 和 docker,因此不确定诊断此问题还需要什么。

根据 Docker 参考手册,您可以向 mount 参数添加一个附加选项,该选项将 SELinux 标签修改为正在挂载的主机文件/目录。

因此,您的卷挂载参数将类似于:

-v /folder/to/mount:/directory/in/container

到:

-v /folder/to/mount:/directory/in/container:z

完整的命令行示例:

docker run -d --name my-httpd-cont -ti -v "$(pwd)"/httpd.conf:conf/httpd.conf:z httpd:latest

在您学习 Linux 时,您可以关闭 SELinux,或将其置于许可模式,该模式将记录警告,但不会对其采取行动。 这可以通过运行以下命令来完成。

setenforce 0

要完全关闭它,请手动编辑 /etc/selinux/config 文件并重新启动服务器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM