Dies zu Docker php:5.6-Apache Development Environment missing permissions on volume mountDocker Container von php: 5,6-Apache als root
bezogen werden hätte ich so ziemlich alles versucht, das montiert Volumen von www-data
, meine aktuelle Lösung lesbar zu machen versucht, mithilfe von Skripts zu bewegen, die Ordner benötigt von der Anwendung zu /var
und geben die richtigen Berechtigungen, um durch www-data
beschreibbar sein, aber das wird schwer zu pflegen.
Giving die Tatsache, dass es eine Entwicklungsumgebung macht mir nichts ein Sicherheitsloch ist, so würde ich apache
als root
laufen mögen und ich
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.
Gibt es eine einfache Weise, die ich dies erreichen kann mit der Docker Bild php:5.6-apache
?
Das ist mein 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
Und das ist mein 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
Könnten Sie Ihre Dockerfile und wie Sie versuchen, Ihren Container zu starten? – vmonteco