You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置docker-compose.yml与Nginx配置文件实现外部磁盘路径映射

问题原因

你的docker-compose.yml挂载配置没有问题,报错是Nginx配置中location /downloads块错误使用了root指令导致的:

  • root指令的逻辑是将location匹配的路径完整追加到root值后面拼接为实际文件路径,你当前的配置下,访问example.com/downloads/test.zip时,Nginx会尝试读取容器内/storage/downloads/test.zip路径的文件,但你的文件是直接存放在/storage根目录下,自然返回404。

正确配置方案

把location /downloads块的root指令替换为alias指令即可,alias指令会直接用设置的路径替换location匹配的路径部分,不会追加拼接:

server {
    listen       80  default;
    server_name  example.com;

    root   /www;
    index  index.php;
 
    location /downloads/ {
        alias /storage/;
        # 若需要允许列出目录内容,可添加以下两行
        autoindex on;
        autoindex_exact_size off;
    }
}

配置验证

修改配置后重载Nginx配置生效,你也可以先进入容器确认挂载路径是否正常:

# 替换为你的Nginx容器名称/ID
docker exec -it <nginx容器标识> ls /storage

如果能正常列出你放在Azure外部磁盘里的文件,说明挂载逻辑完全正常。


内容的提问来源于stack exchange,提问作者Diego Luiz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 15:33:00