为了账号安全,请及时绑定邮箱和手机立即绑定

使用 PHP Nginx 的 Docker 无法加载图像或 js - 找不到 404

使用 PHP Nginx 的 Docker 无法加载图像或 js - 找不到 404

PHP
蝴蝶不菲 2021-09-18 20:21:47
我正在 Windows 10 pro 本地机器上部署 2 个 docker 容器(nginx 和 php fpm)。我可以正确执行php脚本。例如:http://localhost:8888/phpinfo.php --> 正确返回。但除了 php 脚本(例如图像、js 或 css)它给我找不到。例如:http://localhost:8888/image.jpg --> 未找到这里可能出了什么问题?这是我的 docker compose 文件:version: '3.7'services:  # The Web Server  web:    container_name: emm_web    build:      context: ./      dockerfile: web.dockerfile    volumes:      - ../log/:/var/log    ports:      - 8888:80  # The PHP Application  app:    container_name: emm_app    build:      context: ./      dockerfile: app.dockerfile    volumes:      - ../www/:/var/www    depends_on:      - web    environment:      - "DB_PORT=3306"      - "DB_HOST=database"这是我的 nginx vhost.conf:server {    listen 80;    index index.php index.html;    root /var/www;    error_log  /var/log/nginx/error.log;    access_log /var/log/nginx/access.log;    location / {        try_files $uri /index.php?$args;    }    location ~ \.php$ {        fastcgi_split_path_info ^(.+\.php)(/.+)$;        fastcgi_pass app:9000;        fastcgi_index index.php;        include fastcgi_params;        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;        fastcgi_param PATH_INFO $fastcgi_path_info;    }}
查看完整描述

1 回答

?
阿晨1998

TA贡献2037条经验 获得超6个赞

您需要为 nginx 容器共享文件。尝试这个:


# The Web Server

web:

  container_name: emm_web

  build:

    context: ./

    dockerfile: web.dockerfile

  volumes:

    - ../log/:/var/log

    # !! nginx need this volume !!

    - ../www/:/var/www:ro

  ports:

    - 8888:80

该只读卷将使容器中的文件可用。


查看完整回答
反对 回复 2021-09-18
  • 1 回答
  • 0 关注
  • 475 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信