This composer file used to work until a week ago (no changes). I got it working again at home by adding dns: 8.8.8.8
to the docker-compose.yml
file.
This lead me to believe the issue was DNS related.
Now trying to run it on a different machine (at work) but the following error occurs:
nginx: [emerg] host not found in upstream "app:9000" in /etc/nginx/sites-enabled/default.conf:2
I'm not sure what it means. Here is my nginx conf:
server {
listen 80;
listen 443 ssl http2;
# Server name being used (exact name, wildcards or regular expression)
server_name localhost;
client_max_body_size 200M;
# Document root, make sure this points to your Phalcon web directory
root /var/www/html/public;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?_url=$uri&$args;
}
location ~ \.php$ {
fastcgi_pass app:9000;
# regex to split $uri to $fastcgi_script_name and $fastcgi_path
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
include fastcgi_params;
# Bypass the fact that try_files resets $fastcgi_path_info
# see: http://trac.nginx.org/nginx/ticket/321
set $path_info $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param APPLICATION_ENV development;
#add_header Authorization $http_authorization;
}
# Logging
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
}
And my docker-compose.yml file:
db:
image: mysql:latest
container_name: dev_db
expose:
- "3306"
ports:
- "3307:3306"
environment:
MYSQL_DATABASE: dbname
MYSQL_USER: person
MYSQL_PASSWORD: secret
MYSQL_ROOT_PASSWORD: secret
app:
image: linxlad/php7-fpm
container_name: dev_app
tty: true
ports:
- "6900:6900"
volumes:
- ./logs/php-fpm:/var/log/php-fpm
- ..:/var/www/html
links:
- db
web:
tty: true
image: linxlad/nginx
container_name: dev_web
ports:
- "8080:80"
volumes:
- ./conf/nginx:/etc/nginx/conf.d
- ./logs/nginx:/var/log/nginx
- ..:/var/www/html
links:
- app
The repo is here.
Anyone know how to correct the issue?
Thanks
your nginx container is probably starting before your app. you should add a depends_on
section to the docker-compose.yml file, to tell docker which order the containers should be started
https://docs.docker.com/compose/compose-file/#depends_on
web:
tty: true
image: linxlad/nginx
container_name: dev_web
ports:
- "8080:80"
volumes:
- ./conf/nginx:/etc/nginx/conf.d
- ./logs/nginx:/var/log/nginx
- ..:/var/www/html
links:
- app
depends_on:
- app
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With