gpt4 book ai didi

node.js - 如何使用 NGINX 访问写入 docker 容器卷上的文件并将 URL 共享到客户端

转载 作者:太空宇宙 更新时间:2023-11-03 22:22:38 26 4
gpt4 key购买 nike

我刚开始使用 Docker。我已经安装了MUP (meteor-up)来部署我的meteor应用程序。并且在内部使用 Docker。

使用 MUP(Docker) 之前:-

我只是将一些文件(CSV)写入我的 Ubuntu 计算机中的/opt/AHD 目录。在 NGINX 的帮助下,我只需将 URL 发送到客户端并自动下载该文件。

我的 NGINX 的配置是:-

server {
listen 7004;
listen [::]:7004;

server_name _;

root /;
#index index.html;

location /opt {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# Following is necessary for Websocket support
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
autoindex on;
}

我只是将文件的 URL 从服务器端共享到客户端,例如:-

http://myapp:7004/opt/AHD/1536673499271.csv

运行完美,但当我使用 MUP 时,内部使用 Docker。现在,当我查看时,发现我的机器/opt/AHD 目录上没有写入任何文件。因为它们是在容器范围内编写的,即它们是在

中编写的

var/lib/docker/overlay2/e4cc915015ea4f1e177175b52675f67223235c909b7680dfbe9a566af303afe7/diff/opt/AHD/1536673499271.csv

上面的目录根据docker的说法是没问题的。

但是因为我想将 URL 共享给客户端,以便在客户端下载 CSV 文件。

所以我的问题是:-

如何配置我的 Nginx,以便它能够与容器目录而不是我的机器目录一起工作,并且我将能够通过 NGINX 在客户端下载文件。

我已经阅读了一些博客,但不知道如何以及需要为 nginx 提供哪些配置来访问 docker 容器文件。

非常感谢任何帮助。

谢谢

最佳答案

您是否尝试将/opt/AHD 目录与容器内的/opt/AHD 目录一起挂载?

请看一下这个页面:http://meteor-up.com/docs.html

在此处的示例配置中,查看卷部分

// lets you add docker volumes (optional). Can be used to
// store files between app deploys and restarts.
volumes: {
// passed as '-v /host/path:/container/path' to the docker run command
'/host/path': '/container/path',
'/second/host/path': '/second/container/path'
},

你可以用这个。只需添加另一行

'/opt/AHD/': '/opt/AHD'

这会将计算机上的特定目录挂载到容器上的特定目录。这将导致容器将文件写入您计算机的目录,您可以在其中使用 NGINX 继续操作。

关于node.js - 如何使用 NGINX 访问写入 docker 容器卷上的文件并将 URL 共享到客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52291735/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com