首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用nginx作为码头容器的反向代理

问使用nginx作为码头容器的反向代理
EN

Stack Overflow用户
提问于 2022-02-06 15:25:27
回答 1查看 1.5K关注 0票数 -1

我是新手使用码头和nginx在一起,所以我道歉,为我的简单问题,我无法得到一个答案,尽管浏览了youtube上的许多资源。

我创建了一个ubuntu服务器并运行以下命令

代码语言:javascript
复制
sudo apt install nginx

现在,我有了一个非常简单的烧瓶应用程序停靠映像(在码头枢纽上公开可用,不是由我开发的),我想配置我的nginx作为运行该映像的容器的反向代理。

在nginx配置中,我的反向代理代码如下:

代码语言:javascript
复制
server{
    listen 80;
    location / {
        proxy_pass "http://192.168.0.20:8000"
    }
}

192.168.0.20是我的服务器ip,8000是我转发码头集装箱的主机端口

代码语言:javascript
复制
docker container run -p 8000:5000 <image>

但是当我运行http://192.168.0.20/时,它会打开默认的nginx index.html,而我希望它转发到我的应用程序容器来服务这个静态文件,因为当我运行http://192.168.0.20:8000/时,它会给我想要的输出。

,这听起来可能是个愚蠢的问题,但我一直在努力弄懂nginx.。

提前感谢您的帮助!

EN

回答 1

Stack Overflow用户

发布于 2022-02-06 16:27:04

要从容器内部到达主机,不能使用192.168.0.20,因为容器中不知道该地址。根据主机操作系统的不同,您可以使用172.17.0.1 (Linux)或host.docker.internal (Windows)。如果您的操作系统是Linux,则应该将配置更改为

代码语言:javascript
复制
server {
    listen 80;
    location / {
        proxy_pass "http://172.17.0.1:8000/"
    }
}

与自己安装nginx不同,您可以使用停靠中心上可用的nginx映像。要将您的配置文件放入其中,您可以将其复制到/etc/nginx/conf.d/conf.d/default.conf。创建包含以下内容的Dockerfile

代码语言:javascript
复制
FROM nginx
COPY nginx.conf /etc/nginx/conf.d/default.conf

构建并运行它

代码语言:javascript
复制
docker build -t mynginx .
docker run -d -p 80:80 mynginx

现在你应该可以去http://192.168.0.20/,并得到一个从烧瓶应用程序的响应。

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

https://stackoverflow.com/questions/71008651

复制
相关文章

相似问题

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