【发布时间】:2020-02-18 02:23:38
【问题描述】:
我在 Atlassian Bamboo 中有一个构建计划,用于构建 PHP 项目的 Docker 映像。该图像包括 Apache2、PHP 和依赖项,当然还有项目本身。当我尝试运行此构建计划生成的 Docker 映像时,我收到项目的权限被拒绝错误。
我使用root 作为 Docker 容器中的主要用户。我还尝试在 PHP 项目目录的 www-data:www-data 的 Dockerfile 中包含 chown 命令,但问题并没有消失。
这是指定文件的权限发生的情况:
--w------- 1 root root 582 Feb 18 12:17 index.php
Dockerfile 的内容
FROM php:apache
RUN apt-get update && export DEBIAN_FRONTEND=noninteractive && ln -fs /usr/share/zoneinfo/Asia/Manila /etc/localtime \
&& apt-get install -y libzip-dev libpng-dev unzip git tzdata libpq-dev && dpkg-reconfigure --frontend noninteractive tzdata \
&& docker-php-ext-configure pgsql -with-pgsql=/usr/local/pgsql \
&& docker-php-ext-install pdo_pgsql pgsql zip gd \
&& rm -rf /var/lib/apt
WORKDIR /var/www/html
COPY composer.json .
COPY composer.lock .
COPY composer.phar .
RUN php composer.phar install
RUN chmod 775 -R /var/www/html
COPY . .
【问题讨论】:
-
您能告诉我们您遇到的确切错误吗?
-
添加了一张图片。
-
将其粘贴为文本真的很有帮助。这使得它可以搜索,并且对许多人来说更容易阅读。
-
这是文件丢失错误。你确定那个文件存在吗?它有什么权限?
-
你是用 Kangaroo 还是 Shamp 构建 conf 文件?如果是,您在哪个用户(Sudo 或其他)下执行此操作?另外,图像是否使用 mod php?看起来您的问题似乎在 conf 文件中,它试图包含不应该包含的内容。
标签: php apache docker dockerfile bamboo