Connecting PHP-FPM with Nginx in Docker Compose - php

I'm fiddling with Docker, trying to setup a Docker composition with Nginx and PHP-FPM running on separate Alpine containers. My setup is available on GitHub at https://github.com/sparkbuzz/lemp_docker, my docker-compose.yml looks as follows:
version: '3'
services:
alpine_nginx:
build: ./nginx
container_name: alpine_nginx
links:
- alpine_php
ports:
- "80:80"
alpine_php:
build: ./php
container_name: alpine_php
ports:
- "9000:9000"
I am able to build the images successfully, and when I visit localhost in my browser, I can see the index.html served by Nginx. However, when trying to access phpinfo.php, I get a 502 - Bad Gateway error
I can docker exec -it ... /bin/ash into both the running instances, and it seems the services are running happily, however, it's clear PHP-FPM on port 9000 is never even hit.
Here's some feedback from my console:
Recreating alpine_php ...
Recreating alpine_php ... done
Recreating alpine_nginx ...
Recreating alpine_nginx ... done
Attaching to alpine_php, alpine_nginx
alpine_php | [06-Nov-2017 21:46:39] NOTICE: fpm is running, pid 1
alpine_php | [06-Nov-2017 21:46:39] NOTICE: ready to handle connections
alpine_nginx | 2017/11/06 21:46:46 [error] 6#6: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 172.20.0.1, server: localhost, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://172.20.0.2:9000", host: "localhost"
alpine_nginx | 172.20.0.1 - - [06/Nov/2017:21:46:46 +0000] "GET /index.php HTTP/1.1" 502 568 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36" "-"```
I'm so close, but not sure why Nginx isn't happy with the PHP upstream. Nginx config is as follows:
server {
listen 80;
server_name localhost;
location / {
root /var/www/localhost/htdocs/;
index index.html;
}
location ~* \.php$ {
fastcgi_index index.php;
fastcgi_pass alpine_php:9000;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /var/www/$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}
}
How do I get Nginx talking to PHP FPM?

You are listen 127.0.0.1 in your php-fpm config.
Add this to php/Dockerfile
RUN sed -i 's/127.0.0.1:9000/0.0.0.0:9000/g' /etc/php7/php-fpm.d/www.conf

Related

Why nginx.conf returns ""GET /index.php" 404"?

I'm trying to configure nginx config in Docker but when I start "sudo docker-compose up -d" and try to connect to "http://localhost:8098/" I see: File not found. and logs like:
docker-infrastructure_php-fpm_1 | 172.19.0.3 - 03/Mar/2022:21:35:35 +0000 "GET /index.php" 404
docker-infrastructure_nginx_1 | 172.19.0.1 - - [03/Mar/2022:21:35:35 +0000] "GET / HTTP/1.1" 404 27 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36" "-"`
There are my:
nginx.conf
server {
listen 80;
server_name dgtips-backend-local;
root /home/sergey/PhpstormProjects/dgtips-backend/public;
index index.php;
location / {
try_files $uri /$uri /index.php?$query_string;
}
location ~ [^/]\.php(/|$) {
fastcgi_param SCRIPT_FILENAME /home/sergey/PhpstormProjects/dgtips-backend$fastcgi_script_name;
fastcgi_pass php-fpm:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
}
}
nginx.Dockerfile
FROM nginx
ADD docker/nginx/nginx.conf /etc/nginx/conf.d/default.conf
WORKDIR /home/sergey/PhpstormProjects/dgtips-backend/public
docker-compose.yml
version: "3.3"
services:
nginx:
build:
context: .
dockerfile: docker/nginx/nginx.Dockerfile
ports:
- 8098:80
volumes:
- ./:/home/sergey/PhpstormProjects/dgtips-backend
links:
- php-fpm
php-fpm:
build:
context: .
dockerfile: docker/php-fpm/fpm.Dockerfile
volumes:
- ./:/home/sergey/PhpstormProjects/dgtips-backend
And finally
fpm.Dockerfile
FROM php:7.4-fpm
RUN apt-get update \
&& docker-php-ext-install pdo pdo_mysql
I'm completely sure that I have correct paths to my (local) project and to my index.php file

docker-compose nginx return 502 to php-fpm

Please help me. There was an error, a minor error. Maybe I just do not see it, but I had no idea. The essence of the problem: I am setting up a docker environment. Brought nginx, fpm. When url get a php file, nginx return 502.
Structure:
/www
/app
/index.php
/index.html
/data
/db
/etc
/nginx
default.conf
/php
php.ini
php-fpm.conf
Compose + env:
version: '3.5'
services:
nginx:
image: nginx:alpine
volumes:
- "./etc/nginx/default.conf:/etc/nginx/conf.d/default.conf"
- "./etc/ssl:/etc/ssl"
- "./app:/var/www/html"
- "./etc/nginx/default.template.conf:/etc/nginx/conf.d/default.template"
ports:
- "80:80"
environment:
- NGINX_HOST=${NGINX_HOST}
command: /bin/sh -c "envsubst '$$NGINX_HOST' < /etc/nginx/conf.d/default.template > /etc/nginx/conf.d/default.conf && nginx -g 'daemon off;'"
restart: always
depends_on:
- php
- mysqldb
- memcached
networks:
- app
php:
image: php:${PHP_VERSION}-fpm
restart: always
volumes:
- "./etc/php/php.ini:/usr/local/etc/php/conf.d/php.ini"
- "./etc/php/php-fpm.conf:/usr/local/etc/php-fpm.conf"
- "./app:/var/www/html"
networks:
- app
ports:
- "9000:9000"
networks:
- app
mysqldb:
image: mysql:${MYSQL_VERSION}
container_name: ${MYSQL_HOST}
restart: always
env_file:
- ".env"
environment:
- MYSQL_DATABASE=${MYSQL_DATABASE}
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_USER=${MYSQL_USER}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
ports:
- "3306:3306"
volumes:
- "./data/db/mysql:/var/lib/mysql"
networks:
- app
memcached:
image: memcached:${MEMCACHED_VERSION}
container_name: ${MEMCACHED_HOST}
ports:
- "11211:11211"
networks:
- app
networks:
app:
driver: bridge
#!/usr/bin/env bash
# See https://docs.docker.com/compose/environment-variables/#the-env-file
# Nginx
NGINX_HOST=localhost
# PHP
PHP_VERSION=5.4
# MySQL
MYSQL_VERSION=5.7.22
MYSQL_HOST=mysql
MYSQL_DATABASE=test
MYSQL_ROOT_USER=root
MYSQL_ROOT_PASSWORD=root
MYSQL_USER=dev
MYSQL_PASSWORD=dev
# Memcached
MEMCACHED_VERSION=latest
MEMCACHED_HOST=memcached
Nginx [/etc/nginx/default.conf]:
upstream phpserver {
server php:9000;
}
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name localhost;
index index.php index.html;
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
root /var/www/html;
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass phpserver;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
PHP [php-fpm.conf]:
[global]
error_log = /proc/self/fd/2
daemonize = no
[www]
; if we send this to /proc/self/fd/1, it never appears
access.log = /proc/self/fd/2
user = www-data
group = www-data
listen = 9000
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
clear_env = no
; Ensure worker stdout and stderr are sent to the main error log.
catch_workers_output = yes
PHP [php.ini] - ini file is default. 5.4. It does not include a user, directories before sessions, etc.
Such a structure. More... The phpv should be exactly this (5,4).
What steps did I take to find my error, but did not find:
curl localhost:80/index.html >> HELLO_WORLD
curl localhost:80/index.php >> 502 nginx
netstat -an |grep 9000 >> tcp6 0 0 :::9000 :::* LISTEN
curl localhost:80/index.php + docker-compose log >> nginx_1 | 2020/08/26 16:16:09 [error] 7#7: *3 connect() failed (113: Host is unreachable) while connecting to upstream, client: 172.26.0.1, server: localhost, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://172.26.0.2:9000", host: "localhost" nginx_1 | 172.26.0.1 - - [26/Aug/2020:16:16:09 +0000] "GET /index.php HTTP/1.1" 502 157 "-" "curl/7.61.1" nginx_1 | 2020/08/26 16:16:09 [info] 7#7: *3 client 172.26.0.1 closed keepalive connection
php conteiner
root#..:/var/www/html# php index.html *>>* HELLO_WORLD
root#..:/var/www/html# php index.php *>>* HELLO_WORLD
php conteiner >> root#..:/var/www/html# ls -ll total 13 -rwxrwxrwx. 1 root root 8518 Aug 14 11:36 index.php -rwxrwxrwx. 1 root root 34 Aug 25 21:04 index.html
error_log /var/log/nginx/error.log debug; >> cat
/var/log/nginx/error.log - empty
Structure www/ - root:root
I'm sorry for wasting time. Please help me. Thank!
I have dealt with the problem. I do not want to write in stages, but I will say it in a nutshell. The problem is caused by the fact that my OS build is centos 8. First of all, the incorrect behavior of containers will show the use of Dockerfile, problems with the repo will be identified. It is possible to solve these problems, but for me it became a trigger, which shows that my environment is not correct. Then I went and installed all the packages for docker as directed for installation under Centos 8.
& see
https://computingforgeeks.com/install-docker-and-docker-compose-on-rhel-8-centos-8/

Docker, Nginx and PHP7: ERROR 111 Connection refused while connecting to upstream

I run a NGINX-PHP7-COMPOSER image that works well but when using Slim Framework I had to change Nginx's default config to make the URL rewrites work.
And now it show this error in the logs:
2017-01-21 14:38:34,357 INFO success: php-fpm7 entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2017-01-21 14:38:34,359 INFO success: nginx entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2017/01/21 14:38:37 [error] 15#15: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 172.18.0.1, server: auth-api, request: "GET /hello HTTP/1.1", upstream: "fastcgi://172.18.0.6:9000", host: "localhost:9100"
172.18.0.1 - - [21/Jan/2017:14:38:37 +0000] "GET /hello HTTP/1.1" 502 537 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36"
The config file I mounted is loaded (I checked the bash with nginx -T):
server {
listen 80;
server_name auth-api;
index index.php;
root /var/www/html;
location / {
try_files $uri /index.php$is_args$args;
}
location ~ \.php {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_index index.php;
fastcgi_pass auth-api:9000;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
My Dockerfile (just the image i am loading from the repository):
FROM richarvey/nginx-php-fpm
And my docker-compose.yml:
version: '2'
services:
#############
## MARIADB ##
#############
mariadb:
image: mariadb
restart: always
volumes:
- "./log/mariadb:/var/log/mysql:rw"
- "./data/mariadb:/var/lib/mysql:rw"
environment:
- "MYSQL_ROOT_PASSWORD=pass"
ports:
- "3306:3306"
##############
## FRONTEND ##
##############
frontend:
image: skiychan/nginx-php7:latest
volumes:
- ./services/frontend/src:/data/www
links:
- mariadb:mysql
ports:
- "9001:80"
##############
## AUTH API ##
##############
auth-api:
build: ./services/api/auth/
volumes:
- ./services/api/auth/code/:/var/www/html
- ./services/api/auth/:/etc/nginx/sites-available/
links:
- mariadb:mysql
ports:
- "9100:80"
- "9000:9000"
Do you have any idea of what is going wrong?

php-fpm & nginx in separated docker container, can not execute .php file

I'd like to setup an completely LNMP environment with docker on a machine. But there is something wrong with separated php-fpm & nginx container.
What I'v done is :
pull images from docker.io :
docker pull php:7.1-fpm
docker pull nginx
run with image :
docker run -d --name php-fpm -v /data/Docker/php-fpm/configs/:/usr/local/etc/php-fpm.d -v /data/Docker/nginx/html:/var/www/html php:7.1-fpm
docker run -d --name nginx -v /data/Docker/nginx/configs/:/etc/nginx -v /data/Docker/nginx/html:/var/www/html -p 80:80 --link php-fpm nginx
All directories & files are 755 privileges.
Config files r below :
nginx.conf
server {
listen 80 default_server;
server_name SkyEyeLab;
root /var/www/html;
fastcgi_read_timeout 90;
location ~ \.php {
fastcgi_pass php-fpm:9000;
}
}
And php-fpm.conf(some of important config sections):
listen 0.0.0.0:9000
listen.allowed_clients = any
Then I checked the environment of nginx & php-fpm :
[root#w-Lab01 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6faf4a4b4f7e nginx "nginx -g 'daemon off" 19 minutes ago Up 19 minutes 0.0.0.0:80->80/tcp, 443/tcp nginx
9a6caff831d3 php:7.1-fpm "php-fpm" 20 minutes ago Up 20 minutes 9000/tcp php-fpm
[root#w-Lab01 ~]# docker exec 6faf4a4b4f7e ping -c3 php-fpm
PING php-fpm (172.17.0.2): 56 data bytes
64 bytes from 172.17.0.2: icmp_seq=0 ttl=64 time=0.081 ms
64 bytes from 172.17.0.2: icmp_seq=1 ttl=64 time=0.018 ms
64 bytes from 172.17.0.2: icmp_seq=2 ttl=64 time=0.041 ms
--- php-fpm ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max/stddev = 0.018/0.047/0.081/0.026 ms
[root#w-Lab01 ~]# docker exec 9a6caff831d3 ss -apn
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp LISTEN 0 128 *:9000 *:* users:(("php-fpm",pid=1,fd=7))
Everything seems fine. Then I create a.php under /data/Docker/nginx/html(which is mouted to nginx's /var/www/html directory) with following content :
<?php
phpinfo();
?>
Then access http://localhost:80/a.php in web browser.
But I only got an empty page, I checked the access.log of nginx :
[root#w-Lab01 ~]# docker logs 6faf4a4b4f7e
220.181.171.120 - - [11/Oct/2016:10:25:11 +0000] "GET /a.php HTTP/1.1" 200 31 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:49.0) Gecko/20100101 Firefox/49.0"
220.181.171.120 - - [11/Oct/2016:10:25:12 +0000] "GET /a.php HTTP/1.1" 200 31 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:49.0) Gecko/20100101 Firefox/49.0"
220.181.171.120 - - [11/Oct/2016:10:31:58 +0000] "GET /a.php HTTP/1.1" 200 31 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:49.0) Gecko/20100101 Firefox/49.0"
220.181.171.120 - - [11/Oct/2016:10:31:59 +0000] "GET /a.php HTTP/1.1" 200 31 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:49.0) Gecko/20100101 Firefox/49.0"
It seems a.php is correctly parsed & executed. But why I can not see phpinfo() result in web browser ?
well, after I changed nginx's config file :
server {
listen 80 default_server;
server_name SkyEyeLab;
root /var/www/html;
fastcgi_read_timeout 90;
location ~ \.php {
fastcgi_pass php-fpm:9000;
}
}
to
server {
listen 80 default_server;
server_name SkyEyeLab;
root /var/www/html;
fastcgi_read_timeout 90;
location ~ \.php {
fastcgi_pass php-fpm:9000;
include fastcgi.conf;
}
}
erverything goes fine.
fastcgi.conf is environment config file. you can check under your nginx's config directory(usually /etc/nginx), and see if there is fastcgi.conf or fastcgi_param in it.
maybe, if you want to use the name "php-fpm" in the nginx conf, you need to link the container like this:
docker run -d --name php-fpm -v /data/Docker/php-fpm/configs/:/usr/local/etc/php-fpm.d -v /data/Docker/nginx/html:/var/www/html php:7.1-fpm
and after:
docker run -d --name nginx --link php-fpm:php-fpm -v /data/Docker/nginx/configs/:/etc/nginx -v /data/Docker/nginx/html:/var/www/html -p 80:80 --link php-fpm nginx

Docker-compose Nginx php-fpm file not found

I have a simple docker-compose config with php-fpm and nginx, and I can't see any php file. When I go to localhost, it shows File Not Found.
I tried everything I could find on the net, but everything I have tried has failed.
It works fine for html, but not for php files. Seems to be a path issue, or something like that.
I come across this error when I docker-compose logs:
project3-php_1 | 172.17.0.5 - 29/Mar/2016:13:29:12 +0000 "GET /index.php" 404
project3-front_1 | 172.17.0.1 - - [29/Mar/2016:13:29:12 +0000] "GET / HTTP/1.1" 404 27 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36"
project3-front_1 | 2016/03/29 13:29:12 [error] 8#8: *3 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 172.17.0.1, server: localhost, request: "GET / HTTP/1.1", upstream: "fastcgi://172.17.0.2:9000", host: "localhost"
Here's my docker-compose:
project3-front:
image: nginx
ports:
- "80:80"
links:
- "project3-php:project3-php"
volumes:
- ".:/home/docker"
- "./nginxdir/default.conf:/etc/nginx/conf.d/default.conf"
- "./html:/usr/share/nginx/html"
project3-php:
build: phpdir
volumes:
- ".:/home/docker:rw"
- "./html:/var/www/html"
ports:
- "9000:9000"
working_dir: "/home/docker"
Then my dockerfile for php:
FROM php:5.6-fpm
EXPOSE 9000
my default.conf for nginx:
server {
listen 80;
server_name localhost;
index index.php index.html;
error_log /var/log/nginx/error.log warn;
access_log /var/log/nginx/access.log;
root /usr/share/nginx/html;
location ~ \.php$ {
fastcgi_pass project3-php:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
pwd of the main folder is:
/media/revenge/share/PROJECTS/docker_images/php7-nginx
The file hierarchy is:
├── docker-compose.yml
├── html
│   ├── index.php
├── nginxdir
│   ├── default.conf
├── phpdir
│   ├── dockerfile
│   └── php.ini
The whole folder is chmod 777
Any idea would be greatly appreciated. I'm sure there is something I didn't get. Thanks in advance.
Here is how you can find the problem
Switch on the nginx debug mode with custom command, eg:
docker-compose.yml
web:
image: nginx
volumes:
- "~/www/project:/var/www"
- "~/www/project/vhost.conf:/etc/nginx/conf.d/site.conf"
# Add this row:
command: [nginx-debug, '-g', 'daemon off;']
Edit your "site.conf" file (in this example it is the ~/www/project/vhost.conf file) Switch on the debug mode by the error_log (add "debug" word at the end):
error_log "/var/log/nginx/error.log" debug;
(Re)start the "web" container:
docker-compose stop web
docker-compose up -d web
Test the containers, are all containers running?
docker-compose ps
Test in browser
"Connect" and view or download ( http://blog.dcycle.com/blog/ae67284c/docker-compose-cp ) and view the /var/log/nginx/error.log file.
The problem in the most of case
You haven't set yet or you are using different directory structure in web and php-fpm. If you want to use different structure than you have to set the "fpm structure" at the fastcgi_param SCRIPT_FILENAME place, like this:
If your docker-compose.yml contains like this:
phpfpm:
image: php:fpm
volumes:
- "~/www/project:/var/www/html/user/project"
# ^^^^^^^^^^^^^^^^^^^^^^^^^^ the path in the php-fpm container
You have to set this in "site.conf" in nginx container:
fastcgi_param SCRIPT_FILENAME /var/www/html/user/project$fastcgi_script_name;
# ^^^^^^^^^^^^^^^^^^^^^^^^^^
Finally found it:
I was missing this line in the volume of PHP section of docker-compose:
"./html:/usr/share/nginx/html"
here's what the docker-compose should look like:
project3-front:
image: nginx
ports:
- "80:80"
links:
- "project3-php:project3-php"
volumes:
- ".:/home/docker"
- "./nginxdir/default.conf:/etc/nginx/conf.d/default.conf"
- "./html:/usr/share/nginx/html"
project3-php:
build: phpdir
volumes:
- ".:/home/docker:rw"
- "./html:/var/www/html"
ports:
- "9000:9000"
working_dir: "/home/docker"
The absolute root (here "/usr/share/nginx/html") in the nginx default.conf file had to be set as well in the php part of docker-compose (was only under nginx before)
That's a relief ;)
In my case the volumes: of php and nginx were pointing a the correct (and hence the same) directory. But in my nginx config there was a NGINX_SERVER_ROOT: pointing the wrong way.
So make sure you double check all volumes and root directory settings. Some are easy to overlook.
While replacing $document_root$fastcgi_script_name; by /var/www/html/user/project$fastcgi_script_name; might fix the issue, the more elegant approach in my opinion would be just changing the nginx root directory in the default.conf:
server {
listen 80;
server_name localhost;
index index.php index.html;
error_log /var/log/nginx/error.log warn;
access_log /var/log/nginx/access.log;
root /var/www/html;
location ~ \.php$ {
fastcgi_pass project3-php:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
And in docker-compose.yml:
project3-front:
image: nginx
ports:
- "80:80"
links:
- "project3-php:project3-php"
volumes:
- ".:/home/docker"
- "./nginxdir/default.conf:/etc/nginx/conf.d/default.conf"
- "./html:/var/www/html"
I had the same problem but this wasn't solved by any of this answer here:
Yesterday a Docker Update hits in - which has been installed. The problem depending on this update is, that the (vEthernet (DockerNAT)) Network has been changed. In that way my firewall (in my case Kaspersky) reset my network firewall to "public" instead of "trustable".
I figured this out by open "Docker -> Settings -> Shared Devices". On the first look, everthing seems fine. There was a "tick" on each device I need to be shared. Next I tried to disable and enable my shared devices again. By enable my shared device again the default error "A firewall is blocking file Sharing between Windows and the containers. See documetation for more info." came up. -> PERFECT!!. The shared device is not able to access the files anymore but Docker persists in the state that its all fine.
So I could fix it by:
Set (vEthernet (DockerNAT)) Network as trusted again in my Kaspersky "Firewall - Network" settings.
Restarted my docker container by using docker-compose up and everthing runs like a charm. My files could be accessed again.
One of the case might be, Your running the docker container and did composer install/update
then run following to restart container
`docker-compose down` `docker-compose up -d`

Categories