Nginx + Docker 反向代理多个项目

Nginx 运行在 Docker 中,可以用 Docker 网络(bridge network) 让容器直接互相访问

创建 Docker 网络

docker network create my_network

启动多个应用

复制代码
docker run -d --name app1 --network my_network my-app-1
docker run -d --name app2 --network my_network my-app-2

Nginx 配置

复制代码
server {
    listen 80;
    server_name app1.example.com;

    location / {
        proxy_pass http://app1:80;
    }
}

server {
    listen 80;
    server_name app2.example.com;

    location / {
        proxy_pass http://app2:80;
    }
}

proxy_pass http://app1:80Nginx 会自动解析 app1 这个容器的 IP。

Nginx 也用 Docker 启动

复制代码
docker run -d --name nginx --network my_network -p 80:80 -v /path/to/nginx.conf:/etc/nginx/nginx.conf nginx

这样子所有请求走 Nginx,Nginx 再分流到不同的容器。

相关推荐
电商数据girl3 分钟前
在1688平台上如何实现铺货和上传商品的自动化?
运维·自动化
已是上好佳6 分钟前
Tcp网络通信的基本流程梳理
linux·运维·服务器·c++
reddingtons1 小时前
在 Ubuntu 下通过 Docker 部署 Nginx 服务器
服务器·ubuntu·docker
大得3691 小时前
宝塔docker切换存储目录
java·docker·eureka
大小科圣2 小时前
nginx实现tomcat反向代理
服务器·nginx·tomcat
1 Byte2 小时前
Centos7使用docker搭建redis集群
redis·docker·容器·redis集群搭建
杰克崔3 小时前
关于stac和clac的进一步细节及EFLAGS
linux·运维·服务器
杨浦老苏3 小时前
专为KOReader打造的同步服务KOmpanion
docker·群晖·电子书
hxung3 小时前
Linux 命令学习记录
linux·运维·学习