php - openshift v3 sed 无法打开临时文件

标签 php apache docker apache2 openshift

您好,我尝试将我的 docker 镜像部署到 openshift online v3 但失败并显示消息

sed: couldn't open temporary file /etc/php/7.0/apache2/sedJpqwn4: permission denied

我的 docker 镜像包含类似 sed 的脚本

RUN sed -i '/<Directory \/var\/www\/>/,/<\/Directory>/ s/AllowOverride None/AllowOverride All/' /etc/apache2/apache2.conf

我是 openshift 和 docker 的新手,如何解决这个问题?

最佳答案

即使文件 /etc/apache2/apache2.conf 是可写的,当使用 sed -i 时目录也必须是可写的 sed 将首先在该目录中创建一个临时文件。

我的猜测是整个目录以及文件对于运行容器的用户是不可写的,这实际上是一个随机用户 ID。

如果您要构建自己的镜像,则需要确保您的应用程序或启动代码需要修改的任何目录/文件都是 root 组并且可按组写入。

顺便说一句,如果这是您自己的图像,为什么不使用 PHP 的 Source-to-Image 构建器呢?

关于php - openshift v3 sed 无法打开临时文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44823425/

相关文章:

php - 每 10 秒运行一个 php 脚本作为 cron 作业

javascript - 如何将 JS 脚本链接到我的头文件?

apache - 我应该为我的 VPS 使用 FastCGI 还是 SuPHP?

python - Popen 不再适用于 apache/wsgi 和 python 2.7.2?

docker - Docker 卷的权限问题

php - 存储和显示带有上标文本的文本

php - Zend2 + Doctrine2 认证

java - build.xml - 无法创建任务或输入 etl

docker - 通信运行 golang 的多个容器

Docker --ssh 标志 - 主机 key 验证失败