Apache 如何使用Docker和Docker Compose设置Magento 1.9
我正在尝试使用Docker Compose在Docker上运行我的Magento 1.9应用程序 我成功地把一切都安排好了。MySQL数据库正在运行,可以从我的Magento容器访问。问题是Magento抛出了一个500错误,但没有给我任何关于问题可能是什么的附加上下文,所以我不知道从哪里开始 Apache正在使用其默认配置。目录中没有.htaccess文件。我在容器STDOUT中没有看到任何错误,并且没有任何内容被写入Apache 如何使用Docker和Docker Compose设置Magento 1.9,apache,docker,magento,docker-compose,magento-1.9,Apache,Docker,Magento,Docker Compose,Magento 1.9,我正在尝试使用Docker Compose在Docker上运行我的Magento 1.9应用程序 我成功地把一切都安排好了。MySQL数据库正在运行,可以从我的Magento容器访问。问题是Magento抛出了一个500错误,但没有给我任何关于问题可能是什么的附加上下文,所以我不知道从哪里开始 Apache正在使用其默认配置。目录中没有.htaccess文件。我在容器STDOUT中没有看到任何错误,并且没有任何内容被写入var/log/system.log 有人对我可能做错的地方有什么建议吗 这
var/log/system.log
有人对我可能做错的地方有什么建议吗
这是我的docker-compose.xml文件
version: '3.3'
services:
web:
build:
context: .
dockerfile: Dockerfile
container_name: 'magento'
restart: always
depends_on:
- db
volumes:
- /Users/marchorne/projects/magento:/var/www/html/
ports:
- 80:80
environment:
- MAGE_IS_DEVELOPER_MODE=true
db:
container_name: 'mysql'
image: 'mysql:8.0'
command: --default-authentication-plugin=mysql_native_password
restart: always
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=magento
- MYSQL_USER=root
- MYSQL_PASSWORD=root
ports:
- 3308:3306
volumes:
- /Users/marchorne/projects/magento/dumps:/dumps/
这是我的Dockerfile:
FROM php:7.1-apache
COPY .:/var/www/html/
RUN apt-get update && apt-get upgrade -y
RUN docker-php-ext-install mysqli
RUN apt-get install -y apt-transport-https
RUN apt-get install curl
RUN curl -sL https://deb.nodesource.com/setup_12.x | bash
RUN apt-get install nodejs yarn -y
EXPOSE 80
我发现了问题。显然,软件包安装已被禁用/限制
运行
rm/etc/apt/preferences.d/no debian php
删除了限制,允许我正常使用apt-get
。您正在将数据复制到Dockerfile中的/var/www/html/
,并在compose文件中向其加载一个文件夹。这是有意的吗?是的,我的印象是需要指定卷以便同步本地和docker文件,但卷也不会影响imageNo的构建,它将绕过图像的内容,只显示来自主机的文件。该错误是在构建期间还是在您运行容器时发生的?当我在容器中运行Magento时。其他一切似乎都很好。我可以从容器连接到mysql数据库,apache不会抛出任何错误。问题是Magento也不会抛出任何错误,只显示500页,在logsRename文件errors/local.xml.sample到local.xml文件中没有任何内容,然后您将得到抛出Magento的错误