Задать вопрос

Почему не отвечает сервер на порту, указанном в docker-compose?

Есть у меня VPS, на Ubuntu, с IP 194.67.112.8.
Установлен докер и docker-compose.
Решил сделать тестовый проектик.

Сначала использовал просто
docker run nginx -p 8000:80

Все запускалось и было доступно на 194.67.112.8:8000 - писало приветствие от nginx.

Потом решил сделать docker-compose и запустить nginx+php-fpm;

Создал такие файлы:
docker-compose.yml:
Gate-nginx:
    image: nginx:latest
    ports:
        - "8000:80"
    volumes:
        - ./Gate:/var/www
        - ./mysite.local.conf:/etc/nginx/conf.d/mysite.local.conf
    links:
        - Gate-php
Gate-php:
    image: php:7-fpm
    volumes:
        - ./Gate:/var/www


mysite.local.conf:
server {
    index index.php index.html;
    server_name 194.67.112.8;
    error_log  /var/log/nginx/error.log;
    access_log /var/log/nginx/access.log;
    root /code;

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass php:9000;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }
}


/Gate/index.php:
<?php 
echo 'TEST!';
?>


Делаю docker-compose up -d.
Не выдает никаких ошибок, хотя вывод мне кажется странным:
Starting howto_Gate-php_1 ...
Starting howto_Gate-php_1 ... done
Starting howto_Gate-nginx_1 ...
Starting howto_Gate-nginx_1 ... done


Захожу на 194.67.112.8:8000 выдает - страница не найдена.

Результат выполнения команды docker ps:
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
b6c77adca97e        php:7-fpm           "docker-php-entrypoi…"   29 minutes ago      Up 5 minutes        9000/tcp            howto_Gate-php_1


1) Я так понял что запускается только php-fpm? А где тогда nginx?
2) И почему такие странные имена выдает? howto_Gate-php_1. Почему он добавляет "howto_" и "_1"?
  • Вопрос задан
  • 557 просмотров
Подписаться 1 Простой 4 комментария
Пригласить эксперта
Ответы на вопрос 1
shushu
@shushu
Имена, случайные, потому что в докер компоуз нету указанного, name: ...
Задайте, name и желательно host.

fastcgi_pass php:9000

У вас нету хоста PHP, следовательно нжинкс ее сможет пробросить запрос в пхп-фпм.

ИП адреса в докер контейнерах всегда рандомные, поэтому, лучше так не делать:
server_name 194.67.112.8;

Исправьте конфиг нжинкса и по идее должно работать
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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