docker 部署Nginx 转发localhost

背景

  • 在同一宿主机部署了Nginx 和 Web服务
    Nginx容器名:nginx
    Web容器名:web
  • Nginx 需要反向代理 Web服务

错误的配置

  • Nginx配置:
    这里是希望nginx监听80 端口,并且将请求转发到同宿主机的8080端口
server {
        listen 80;
        server_name www.sample.com;
        location / {
            proxy_pass http://localhost:8080;
        }
}

这样配置是无法成功转发的,因为这里的localhost是在容器内部,无法访问到宿主机

正确的方式

  • 处理方式有好几种,这里说docker的自定义网桥的方式
  1. 创建网桥
docker network create user_network_bridge

user_network_bridge – 网桥名称
2. 容器加入网桥

docker network connect --alias docker.brige.web user_network_bridge web
docker network connect --alias docker.brige.nginx user_network_bridge nginx

docker.brige.web – 容器在网桥中的别名 user_network_bridge – 加入的网桥名称 web – 容器名称/容器ID
nginx – 容器名称/容器ID 3. 重新配置Nginx

server {
        listen 80;
        server_name www.sample.com;
        location / {
            proxy_pass http://docker.bridge.web;
        }
}
  1. 重启Nginx
  2. 成功
暂无评论

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇