我已经正确地对接了Apache + MySQL,并且成功地进入了Magento的安装页面。但是我在管理主机容器数据卷时遇到了问题<->。
Magento正在该卷上创建只读日志文件,但安装程序随后返回一个错误,指出该日志文件在安装过程的后续步骤中不可写。
我怀疑Docker的ACL会自动将新文件设置为只读,但在它再次从卷中读取文件后,它就不可写了,并返回错误。
有人知道一个优雅的方法来解决这个问题吗?
docker-compose.yml:
apache:
build: .
dockerfile: Dockerfile
command: "/usr/sbin/apache2 -D FOREGROUND"
volumes:
- ./src/magento:/var/www/site
environment:
APACHE_RUN_USER: www-data
APACHE_RUN_GROUP: www-data
APACHE_LOCK_DIR: /var/lock/apache2
APACHE_LOG_DIR: /var/log/apache2
APACHE_PID_FILE: /var/run/apache2.pid
ports:
- "80:80"
mysqldb:
image: mysql
ports:
- "3306:3306"
environment:
MYSQL_ALLOW_EMPTY_PASSWORD: 'yes'
MYSQL_ROOT_PASSWORD: pass
MYSQL_DATABASE: magento
停靠文件:
FROM ubuntu
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get install -y \
apache2 php curl libapache2-mod-php7.0 \
php7.0 php7.0-mysql php7.0-mcrypt \
php7.0-mbstring php7.0-cli php7.0-gd \
php7.0-curl php7.0-xml php7.0-zip php7.0-intl sudo
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
RUN a2enmod php7.0
RUN a2enmod rewrite
ADD apache-config.conf /etc/apache2/sites-enabled/000-default.conf
RUN mkdir -p /var/www/site
ADD src/magento /var/www/site
WORKDIR /var/www/site
EXPOSE 80
安装过程中的错误输出,在0%时停止:
路径“install.log:///var/www/site/var/log/var/www/site/var/log/“不可写
2条答案
按热度按时间zqry0prt1#
我认为您不能使用安全用户运行Docker,也许您应该尝试以下操作:
你可以在这里看到我的完整Dockerfile:
https://github.com/dylanops/docker-magento/blob/master/dockerfile/php-fpm/Dockerfile
1l5u6lss2#
尝试在您的dockerfile中添加以下行,然后重新启动该过程: