I'm in the process of transferring a Laravel project to docker in order to develop locally. It runs on the web server but won't run properly in docker. I get 'This site can't be reached' after I am redirected to the login view.
I can see all the files mounted in the container, the document root is correct, and I have no active firewalls.
mounted 000-default.conf:
<VirtualHost *:80>
ServerAdmin testmate-dev.com.au
ServerName www.testmate-dev.com.au
DocumentRoot /home/beanstalk/laravel/public
<Directory /home/beanstalk/laravel>
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:433>
ServerAdmin testmate-dev.com.au
ServerName www.testmate-dev.com.au
ServerAlias www.testmate-dev.com.au
DocumentRoot /home/beanstalk/laravel/public
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
<Directory /home/beanstalk/laravel>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Since it runs on the webserver I believe it is some configuration issue however it correctly redirects to /login and then fails to construct the view.
Any way I can debug this/obvious errors would be appreciated. I can provide more context/files if needed.
Edit:
docker-compose.yml:
version: '3.7'
services:
mysql-server:
platform: linux/x86_64
image: mysql:8.0.25
command: --default-authentication-plugin=mysql_native_password
restart: always
environment:
MYSQL_ROOT_PASSWORD: secret
ports:
- "3306:3306"
phpmyadmin:
image: phpmyadmin/phpmyadmin:4.9.7
depends_on:
- mysql-server
restart: always
environment:
PMA_HOST: mysql-server
PMA_USER: root
PMA_PASSWORD: secret
UPLOAD_LIMIT: 700M
PMA_ARBITRARY: 1
ports:
- 8081:80
php:
build:
context: .
network: host
dockerfile: Dockerfile
depends_on:
- mysql-server
ports:
- 80:80
volumes:
- ./:/home/beanstalk/laravel/
- ./apache/000-default.conf:/etc/apache2/sites-enabled/000-default.conf
Dockerfile:
FROM php:8.1-apache
WORKDIR /home/beanstalk/laravel
RUN docker-php-ext-install mysqli
RUN a2enmod headers
RUN mkdir -p /home/logs/
RUN touch /home/logs/access.log
RUN touch /home/logs/error.log
RUN mkdir -p /home/beanstalk/laravel
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
RUN apt-get update -y && apt-get install -y sendmail libpng-dev
RUN apt-get update && \
apt-get install -y \
zlib1g-dev \
libzip-dev \
zip
RUN docker-php-ext-install zip
RUN docker-php-ext-install gd
changing RUN a2enmod headers
to RUN a2enmod rewrite headers
And using HTTP instead of HTTPS resolved my issues.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.