致力于学习 linux、Docker 和 Docker Volumes。我想启动一个 httpd 容器,该容器引用httpd.conf
我本地机器上的一个文件,其中包含加载了正确模块的代理和负载平衡代码。我已经手动弄清楚了,但现在我想尝试使用卷来简化过程。
我的问题是在尝试运行容器时出现权限错误。我在虚拟机上使用 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 文件并重新启动服务器。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句