讲师中心 微信公众号
AI工具推荐 视频效率加速

多服务编排 怎么实现内网安全隔离访问控制

星辰姑娘_3406

星辰姑娘_3406

发布时间:2026-10-16 06:46:56

|

488人浏览过

|

来源于php中文网

原创

Docker Compose 通过自定义 bridge 网络实现内网安全隔离:为 frontend、backend、data 分别创建独立网络,服务仅加入所需网络,禁用 ports 和 host 模式,确保跨网容器无法解析、ping 通或访问。

用 docker compose 实现多服务编排下的内网安全隔离与访问控制,核心是“网络即策略”——不靠暴露端口、不靠应用层鉴权,而是通过 docker 原生网络拓扑强制约束通信路径。只要网络不连通,容器之间就天然无法访问,这是最轻量也最可靠的隔离基础。

定义独立自定义网络

避免使用默认 bridge 网络(所有服务默认互通),显式声明多个隔离网络:

  • 每个网络对应一个逻辑区域,比如 frontend(面向用户)、backend(业务逻辑)、data(数据库/缓存)
  • 使用 bridge 驱动即可满足单机部署需求,无需 overlay(跨主机才需)
  • 网络名就是 DNS 域名空间,服务可通过服务名直接解析,无需 IP 或端口映射

按角色分配网络接入权限

服务只能访问它明确加入的网络,其他网络中的容器对其完全不可见:

Learn Docker
Learn Docker

通过 LabEx 容器基础课程和镜像/编排实验学习 Docker。Docker 课程和实验通过 LabEx MCP 获取,返回 labex.io 链接以继续。

下载
  • web 服务只连 frontend 网络 → 只能调用同网的 api(若 api 也在 frontend)
  • api 同时连 frontend 和 backend → 充当通信桥梁,可收前端请求、发后端请求
  • db 只连 backend 网络 → 外部无法 ping 通、telnet 不通、DNS 解析失败

禁止隐式互通与端口暴露

进一步收紧边界,消除绕过网络隔离的可能:

  • 所有服务禁用 ports 字段(除非必须对外暴露,如 web 的 80/443)
  • 数据库类服务绝对不写 ports: ["5432:5432"],否则即使不在同一网络,宿主机也能直连
  • 不使用 network_mode: "host",它会绕过所有 Docker 网络隔离
  • 敏感服务(如 Redis、Elasticsearch)不配置 expose,该字段仅用于文档说明,无实际隔离作用

验证隔离效果是否生效

部署后立即执行简单连通性测试,确认策略落地:

  • 进入 web 容器:docker exec -it <web-container> sh
  • 尝试解析 db 服务:nslookup db → 应返回“server can't find db”
  • 尝试 ping db:ping db → 应超时或报“unknown host”
  • 进入 api 容器重复上述步骤 → 应能成功解析并连通 db

热门AI工具

更多
Laper
Laper Hot

Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

相关专题

更多
Revel框架入门与安装配置
Revel框架入门与安装配置

本专题从Revel框架环境搭建讲起,系统介绍命令行工具安装、项目创建、目录结构、配置文件及热代码重载,帮助开发者快速完成首个Go Web应用。

0

2026.10.16

Linux 新手先学哪些命令
Linux 新手先学哪些命令

Linux新手命令专题汇集终端基础、文件目录操作、文本查看、软件安装和权限管理等入门文章,帮助按实际任务练习常用命令并建立命令行操作习惯。

0

2026.10.15

MySQL 忘记密码怎么办
MySQL 忘记密码怎么办

MySQL忘记密码专题汇集不同版本与系统下的root密码重置方法,覆盖MySQL 5.7、8.0、Mac、Linux及本地集成环境,并提示恢复权限与重新登录的检查步骤。

0

2026.10.15

Vue.js 中 ref 和 reactive 的区别
Vue.js 中 ref 和 reactive 的区别

Vue.js中ref和reactive的区别专题汇集两种响应式API的定义、访问方式、对象解构、侦听与性能取舍等文章,帮助结合实际状态类型选择合适写法。

0

2026.10.15

VS Code 怎么配置开发环境
VS Code 怎么配置开发环境

VS Code开发环境专题汇集编辑器安装、语言扩展、编译器、解释器、终端和调试配置文章,覆盖Java、Python、C++和PHP等常见语言的入门设置。

0

2026.10.15

C++ 开发环境怎么搭建
C++ 开发环境怎么搭建

C++开发环境专题汇集Windows、Linux下的编译器与IDE安装配置教程,涵盖GCC、Clang、Visual Studio、CLion和VS Code,以及编译运行首个程序的步骤。

0

2026.10.15

Python 虚拟环境是什么
Python 虚拟环境是什么

Python虚拟环境专题介绍项目依赖隔离的作用,汇集venv与uv创建、激活、退出及解释器切换的相关文章,并覆盖Windows、Linux和VS Code中的常见配置问题。

0

2026.10.15

Python 怎么安装并配置环境变量
Python 怎么安装并配置环境变量

Python安装与环境变量配置专题汇集Windows、macOS和Linux的安装步骤、PATH设置、pip配置及常见报错排查文章,帮助完成解释器安装并验证命令行可以正常运行。

0

2026.10.15

PHP 连接 MySQL 失败怎么办
PHP 连接 MySQL 失败怎么办

PHP连接MySQL失败专题汇集PDO与MySQLi扩展配置、账号权限、主机端口、套接字和认证方式等排查文章,覆盖连接报错、密码变更与容器环境配置,帮助按错误提示定位原因并修复。

0

2026.10.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpMyAdmin 安装文档
phpMyAdmin 安装文档

共0课时 | 0人学习

Docker 官方文档
Docker 官方文档

共0课时 | 0人学习

宝塔 Docker 模块使用手册
宝塔 Docker 模块使用手册

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn