としてこれは私が私の現在のソリューションは、スクリプトでフォルダを移動しようとしている、www-data
によってマウントされたボリュームが読めるようにするほとんどすべてを試してみましたDocker php:5.6-Apache Development Environment missing permissions on volume mountドッカーコンテナ:5.6 - Apacheのルート
に関連することになりますアプリケーションによって/var
に必要とされ、www-data
によって書き込み可能な適切な権限を与えているが、それは維持することが困難になってきている。それは私がroot
としてapache
を実行したいと思いますので、私はセキュリティホールであることを気にしない開発環境だと私は
Error: Apache has not been designed to serve pages while running as root. There are known race conditions that will allow any local user to read any file on the system. If you still desire to serve pages as root then add -DBIG_SECURITY_HOLE to the CFLAGS line in your src/Configuration file and rebuild the server. It is strongly suggested that you instead modify the User directive in your httpd.conf file to list a non-root user.
を取得することは、私が使用してこれを実現することができます任意の簡単な方法があるという事実を与える
ドッカー画像php:5.6-apache
?
これは私のdocker-compose.yml
version: '2'
services:
api:
container_name: api
privileged: true
build:
context: .
dockerfile: apigility/Dockerfile
ports:
- "2020:80"
volumes:
- /ft/code/api:/var/www:rw
であり、これは私のDockerfile
です:
FROM php:5.6-apache
USER root
RUN apt-get update \
&& apt-get install -y sudo openjdk-7-jdk \
&& echo "www-data ALL=NOPASSWD: ALL" >> /etc/sudoers
RUN apt-get install -y git zlib1g-dev libmcrypt-dev nano vim --no-install-recommends \
&& apt-get clean \
&& rm -r /var/lib/apt/lists/* \
&& docker-php-ext-install mcrypt zip \
&& curl -sS https://getcomposer.org/installer \
| php -- --install-dir=/usr/local/bin --filename=composer \
&& a2enmod rewrite \
&& sed -i 's!/var/www/html!/var/www/public!g' /etc/apache2/apache2.conf \
&& echo "AllowEncodedSlashes On" >> /etc/apache2/apache2.conf \
&& cp /usr/src/php/php.ini-production /usr/local/etc/php/php.ini \
&& printf '[Date]\ndate.timezone=UTC' > /usr/local/etc/php/conf.d/timezone.ini
WORKDIR /var/www
に応じて変更することができますDockerfileとあなたのコンテナを起動しようとする方法? – vmonteco