El contenedor de Docker Compose en Nginx никакой enruta correctamente

Estoy iniciándome en esto de los contenedores de Docker y siguiendo un tutorial, он creado ООН archivo подросток параграфа докера-compose.yml слуга ООН de aplicaciones веб-basado en Nginx, PHP7-fpm, MySQL y Laravel (версии todos en sus últimas).

Funciona pero никакой debería ya que cuando accedo Комо а-ля IP del servicio я muestra la página de Nginx en vez de la de Laravel.

Estoy usando Докер Ubuntu 16.04.2 64bits y Сочиняют. El código del archivo YML es el siguiente:

# docker-compose.yml
version: '2'

services:
# The Application
app:
    build:
      context: ./
      dockerfile: app.dockerfile
    working_dir: /var/www
    volumes:
      - ./:/var/www
    environment:
      - "DB_PORT=3306"
      - "DB_HOST=database"

# The Web Server
  web:
    build:
      context: ./
      dockerfile: web.dockerfile
    working_dir: /var/www
    volumes_from:
      - app
    ports:
      - 8080:80

  # The Database
  database:
    image: mysql:5.7
    volumes:
      - dbdata:/var/lib/mysql
    environment:
      - "MYSQL_DATABASE=homestead"
      - "MYSQL_USER=homestead"
      - "MYSQL_PASSWORD=secret"
      - "MYSQL_ROOT_PASSWORD=secret"
    ports:
        - "33061:3306"

volumes:
  dbdata:

El archivo de configuración de web es este:

FROM nginx:latest
ADD vhost.conf /nginx/conf.d/default.conf
# Añadido por mi a ver si enruta bien
WORKDIR /var/www

El vhost.conf es este:

server {
    listen 80;
    index index.php index.html;
    root /var/www/public;

    location / {
        try_files $uri /index.php?$args;
    }

    location ~ \.php$ {
        fastcig_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass app:9000;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_parm SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }
}

El de aplicación es el siguiente:

FROM php:7.0.15-fpm

RUN apt-get update && apt-get install -y libmcrypt-dev \
mysql-client libmagickwand-dev --no-install-recommends \
&& pecl install imagick \
&& docker-php-ext-enable imagick \
&& docker-php-ext-install mcrypt pdo_mysql
2
задан 19.03.2017, 17:43
1 ответ

Первое, что я вижу, состоит в том, что в тебе vhost.conf ты показываешь , что параметр fastcgi_pass указал на в app:9000 , которые я представляю, будет контейнером PHP-FPM. Хорошие

это не будет функционировать никогда, так как они не "видны", если контейнеры если только ты не соединишь их или поместишь внутри одной самой network .

Добавляет в конце тебя docker-compose это:

networks:
  appnet:
   driver: bridge

И потом в каждой услуге ты добавляешь его:

networks:
  - appnet

И с этим ты показываешь, что каждая услуга принадлежит той же "сети". Таким образом контейнер nginx будет знать, кто app .

Надеялся помочь тебе!

0
ответ дан 24.11.2019, 10:29
  • 1
    Так как не не меняя ничего funcionó он пошел cuestió n возобновления машины. – Pedrog 09.02.2018, 23:16

Теги

Похожие вопросы