Docker部署NGINX实现服务四层转发方案

目录

[1. 服务器环境](#1. 服务器环境)

[2. Docker-compose部署NGINX](#2. Docker-compose部署NGINX)

[2.1 创建目录](#2.1 创建目录)

[2.2 创建文件](#2.2 创建文件)

[2.3 文件具体内容](#2.3 文件具体内容)

[2.3.1 docker-compose.yml文件](#2.3.1 docker-compose.yml文件)

[2.3.2 nginx.conf文件](#2.3.2 nginx.conf文件)

[2.3.3 stream.conf文件](#2.3.3 stream.conf文件)

[3. 启动服务](#3. 启动服务)


1. 服务器环境

复制代码
[root@monitor ~]# cat  /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)

[root@monitor ~]# docker  -v
Docker version 26.1.4, build 5650f9b

[root@monitor ~]# docker-compose  -v
docker-compose version 1.25.4, build 8d51620a

2. Docker-compose部署NGINX

2.1 创建目录

mkdir -p /mnt/tcp_port_transfer

2.2 创建文件

复制代码
[root@monitor tcp_port_transfer]# tree  .
.
|-- docker-compose.yml
|-- nginx.conf
`-- stream.conf

0 directories, 3 files
[root@monitor tcp_port_transfer]#

2.3 文件具体内容

2.3.1 docker-compose.yml文件

复制代码
version: "3"
services:
  nginx-tcp-proxy:
    image: nginx:1.28  # 使用官方 1.28 版本镜像
    container_name: nginx-tcp-proxy
    network_mode: "host"  # 使用宿主机网络模式
    restart: always  # 设置容器总是重启,实现开机自启
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf:ro  # 挂载主配置文件
      - ./stream.conf:/etc/nginx/conf.d/default.conf:ro  # 挂载四层代理配置

2.3.2 nginx.conf文件

复制代码
user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

# 关键配置:引入四层代理配置
stream {
    include /etc/nginx/conf.d/*.conf;
}

2.3.3 stream.conf文件

复制代码
# 配置具体的转发服务
server {
    listen 30008;
    proxy_connect_timeout 5s;
    proxy_timeout 300s;
    proxy_pass 1.2.3.4:65512;
}

server {
    listen 30009;
    proxy_connect_timeout 5s;
    proxy_timeout 300s;
    proxy_pass 1.2.3.4:65513;
}

3. 启动服务

cd /mnt/tcp_port_transfer

docker-compose up -d

备注:修改nginx.conf和stream.conf配置文件后,重启容器后生效。

相关推荐
我要成为嵌入式大佬24 分钟前
正点原子MP157--问题详解--四(关于根文件系统驱动模块指令的注意事项)
linux·运维·服务器
欧云服务器29 分钟前
宝塔计划任务怎么自动删除多少个以外的文件?
linux·运维·服务器
XXOOXRT1 小时前
零基础掌握Linux常用命令
linux·运维·服务器
桌面运维家1 小时前
KVM虚拟机:快照增量备份与Linux系统快速恢复
linux·运维·服务器
春日见2 小时前
GIT操作大全(个人开发与公司开发)
开发语言·驱动开发·git·matlab·docker·计算机外设·个人开发
曲幽2 小时前
FastAPI子应用挂载:别再让root_path坑你一夜
python·nginx·fastapi·web·mount·admin·404·docs·root_path
Sarapines Programmer2 小时前
【Docker】Windows 安装 Docker 简明指南
运维·docker·容器
wwj888wwj2 小时前
mydumper备份数据库以及还原
linux·运维·服务器
CQU_JIAKE3 小时前
3.23【A】
linux·服务器·网络
竹之却3 小时前
如何使用 SakuraFrp 做内网穿透
运维·服务器·网络·frp·内网穿透·sakurafrp