首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用docker nginx镜像时我把index.php放在哪里

使用docker nginx镜像时我把index.php放在哪里
EN

Stack Overflow用户
提问于 2020-07-07 00:33:33
回答 1查看 831关注 0票数 2

我找不到我把我的文件放在哪里,这样ngnix就可以解释我的文件了。所有的容器都在工作,当我把localhost:8080放在这里时,这里是我的docker-compose.yml

代码语言:javascript
运行
复制
web:
  image: nginx
  volumes:
   - ./templates:/etc/nginx/templates
  ports:
   - "8080:8080"
  environment:
   - NGINX_HOST=foobar.com
   - NGINX_PORT=8080

php:
       image: php:7.0-fpm
       expose:
           - 9000
       volumes_from:
           - app
       links:
           - elastic

app:
       image: php:7.0-fpm
       volumes:
           - .:/src

elastic:
       image: elasticsearch:2.3
       volumes:
         - ./elasticsearch/data:/usr/share/elasticsearch/data
         - ./elasticsearch/logs:/usr/share/elasticsearch/logs
       expose:
         - "9200"
       ports:
         - "9200:9200"

有人能帮帮我吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-07 10:00:54

PHP和Nginx docker镜像需要挂载相同的卷。

代码语言:javascript
运行
复制
version: '3'
services:
  nginx:
    image: nginx:alpine
    volumes:
      - ./app:/app
      - ./nginx-config/:/etc/nginx/conf.d/
    ports:
      - 80:80
    depends_on:
      - php
  php:
    image: php:7.3-fpm-alpine
    volumes:
     - ./app:/app

在上面的编写文件中,代码放在主机的app文件夹下。

代码语言:javascript
运行
复制
├── app
│   ├── helloworld.php
│   └── index.php
├── docker-compose.yml
└── nginx-config
    └── default.conf

您的Nginx config应该使用docker服务网络连接php-fpm容器。

代码语言:javascript
运行
复制
server {
    index index.php index.html;
    server_name php-docker.local;
    error_log  /var/log/nginx/error.log;
    access_log /var/log/nginx/access.log;
    root /app/;

    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;
    }
}

或者,您可以尝试Github中的工作示例。

代码语言:javascript
运行
复制
git clone https://github.com/Adiii717/dockerize-nginx-php.git
cd dockerize-nginx-php;
docker-compose up

现在打开浏览器

http://localhost/helloworld.php

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62760505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档