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配置文件后,重启容器后生效。

相关推荐
EMTime3 小时前
Docker运行OpenWRT
运维·docker·容器
lolo大魔王4 小时前
Linux 文件系统超全面详解(原理、结构、挂载、分区、inode、日志、管理命令)
linux·运维·服务器
zyl837216 小时前
Docker 使用手册
运维·docker·容器
古月方枘Fry6 小时前
MGRE实验
运维·服务器
博客-小覃7 小时前
Zabbix之华为交换机的日志记录信息操作详细教程
服务器·网络·华为·zabbix
stolentime7 小时前
FreeDomain 本地开发环境快速搭建指南
运维·服务器·网络
向量引擎7 小时前
从零起步,如何打造专属向量引擎 API 中转工作流?
java·服务器·前端
“码”力全开8 小时前
解耦异构算力与多协议接入:基于Docker与源码交付的开源企业级GB28181/RTSP边缘计算AI视频管理平台架构深度解析
人工智能·docker·开源
z200509308 小时前
【Linux学习】Linux中的进程程序替换
linux·服务器·学习
maomao大哥闯天下9 小时前
K8s如何实现滚动更新、健康检查与探测机制
docker·容器·kubernetes