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

相关推荐
sbjdhjd23 分钟前
企业级 Docker 镜像仓库建设与运维规范
linux·运维·docker·云原生·容器·eureka·开源
Tingjct33 分钟前
Linux开发工具
linux·运维·服务器
ChaITSimpleLove40 分钟前
优化 WSL2 性能:为 Docker 和 K8s 定制高效内存配置指南
docker·容器·性能优化·kubernetes·wsl2·windows开发·pwsh
cui_ruicheng1 小时前
Linux线程(三):线程同步、互斥与生产者消费者模型
linux·服务器·开发语言
江湖有缘1 小时前
使用Docker部署Docker Compose文件管理工具Dockge
运维·docker·容器
苍煜1 小时前
Docker 私有仓库 Harbor 搭建与镜像推送(系列第六篇:企业私有镜像仓库实战)
运维·docker·容器
喵喵爱自由1 小时前
离线安装docker
运维·docker·容器
http阿拉丁神猫2 小时前
Docker知识点汇总(11~12)
运维·docker·容器
吉星9527ABC2 小时前
CentOS9stream上使用podman代替docker
docker·容器·podman
小杍随笔2 小时前
【WordPress 核心表】
linux·运维·服务器