使用docker运行symfony2应用程序[找不到文件。]

时间:2017-01-26 12:51:46

标签: php symfony docker docker-compose

我正在尝试使用docker运行我的symfony应用程序。我已下载此捆绑包eko/docker-symfony

我已将我的symfony项目复制到我的docker目录中。

如果我使用localhost刷新,则会出现此错误:找不到文件。

如果我在本地主机之后放置81端口,那么Kibana的页面就会出现。

当我运行docker ps时,我注意到我所有容器的IP都是0.0.0.0

搬运工-compose.yml

version: '2'
services:
    db:
        image: mysql
        ports:
            - "3306:3306"
        environment:
            MYSQL_ROOT_PASSWORD: root
            MYSQL_DATABASE: symfony
            MYSQL_USER: symfony
            MYSQL_PASSWORD: symfony
    php:
        build: ./php-fpm
        expose:
            - "9000"
        volumes:
            - ./symfony:/var/www/symfony
            - ./logs/symfony:/var/www/symfony/app/logs
        links:
            - db
    nginx:
        build: ./nginx
        ports:
            - "80:80"
        links:
            - php
        volumes_from:
            - php
        volumes:
            - ./logs/nginx/:/var/log/nginx
    elk:
        image: willdurand/elk
        ports:
            - "81:80"
        volumes:
            - ./elk/logstash:/etc/logstash
            - ./elk/logstash/patterns:/opt/logstash/patterns
        volumes_from:
            - php
            - nginx

symfony.conf

server {
    server_name symfony.dev;
    root /var/www/symfony/web;


    location / {
        try_files $uri @rewriteapp;
    }

    location @rewriteapp {
        rewrite ^(.*)$ /app.php/$1 last;
    }

    location ~ ^/(app|app_dev|config)\.php(/|$) {
        fastcgi_pass php-upstream;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param HTTPS off;
    }

    error_log /var/log/nginx/symfony_error.log;
    access_log /var/log/nginx/symfony_access.log;
}

picture

1 个答案:

答案 0 :(得分:0)

我认为问题是端口80.这可能会在您的主机上查找文件。

您可以尝试在不同的端口f.e下运行nginx。 8001

nginx:
        build: ./nginx
        ports:
            - "8001:80"

并致电

http://localhost:8001

或使用主机名。引用eko / docker-symfony的自述文件

  

...不要忘记在/ etc / hosts文件中添加symfony.dev。

127.0.0.1 symfony.dev

然后你可以打电话

http://symfony.dev