Docker 中 Nginx 反向代理

本文详细介绍了如何在Windows系统中通过编辑hosts文件,设置NginxProxyManager的域名和IP,以及如何配置Docker容器以将ASP.NET应用映射到8080端口。同时,展示了NginxProxyManager的Docker服务版本和网络配置。

本文主角:Nginx Proxy Manager 。
使用docker安装Nginx Proxy Manager。

1、找到C:\Windows\System32\drivers\etc下的hosts文件,添加
“域名 IP"即可。
在这里插入图片描述
使用vscode编辑文件,保存时会提示用管理员权限保存即可。

2、Nginx Proxy Manager 设置
在这里插入图片描述
域名就是hosts文件中的域名,ip地址为docker容器的ip,端口8080为应用的默认端口(asp.net 8.0 默认端口微软把80改成了8080 )。
3、浏览器使用上面的域名即可访问docker中的应用。
4、Nginx Proxy Manager 编排

version: '3'
services:
#  默认账号  
#  Email: admin@example.com
#  Password: changeme
  nginx:
    image: 'jc21/nginx-proxy-manager:latest'
    container_name: nginx
    restart: unless-stopped
    ports:
      - '80:80'
      - '81:81'
      - '443:443'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
    networks:
      - mynetwork

networks:
  mynetwork:
使用 Docker 部署 Nginx 并配置反向代理可以按照以下步骤进行: ### 1. 清理旧的 Nginx 容器(可选) 如果之前有运行的 Nginx 容器,可将其关闭并删除: ```bash # 找到 nginx 对应的容器 id docker ps -a # 关闭该容器 docker stop nginx # 删除该容器 docker rm nginx # 若容器正在运行,可使用以下命令强制删除 docker rm -f nginx ``` [^2] ### 2. 创建并运行 Nginx 容器 可使用以下命令创建并运行 Nginx 容器,同时进行端口映射和文件挂载: ```bash docker run \ -p 9002:80 \ --name nginx \ -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \ -v /home/nginx/conf/conf.d:/etc/nginx/conf.d \ -v /home/nginx/log:/var/log/nginx \ -v /home/nginx/html:/usr/share/nginx/html \ -d nginx:latest ``` 此命令将容器的 80 端口映射到主机的 9002 端口,同时挂载了 Nginx 的配置文件、日志文件和内容目录 [^2]。 也可以使用另一种创建方式: ```bash docker run -d -p 80:80 --name nginx-web -v /root/nginx/www:/usr/share/nginx/html -v /root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /root/nginx/logs:/var/log/nginx nginx ``` 该命令创建了新的 Nginx 容器 `nginx-web`,并将 `www`、`logs`、`conf` 目录映射到本地 [^3]。 ### 3. 命令参数说明 - `--name nginx`:将容器命名为 `nginx`。 - `--net host`:容器和宿主机共用网络。 - `-v /docker/nginx/www:/usr/share/nginx/html`:将宿主机的 `www` 目录挂载到容器的 `/usr/share/nginx/html`。 - `-v /docker/nginx/conf.d:/etc/nginx/conf.d`:将宿主机的 `conf.d` 目录挂载到容器的 `conf.d` 目录。 - `-v /docker/nginx/logs:/var/log/nginx`:将宿主机的 `logs` 挂载到容器的 `/var/log/nginx`。 - `-d`:后台运行 [^4]。 ### 4. 反向代理配置 反向代理Nginx 常见使用场景,可将客户端请求转发到后端应用服务器。在 Docker 中可使用 Nginx 反向代理多个应用容器 [^1]。 ### 5. 进入服务器根目录查看文件和目录(可选) ```bash # 进入服务器根目录 cd / # 查看当前位置下的文件和目录 ls ``` [^4]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值