惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

N
News and Events Feed by Topic
Malwarebytes
Malwarebytes
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
C
Cybersecurity and Infrastructure Security Agency CISA
F
Future of Privacy Forum
C
Cisco Blogs
T
The Exploit Database - CXSecurity.com
A
Arctic Wolf
S
Securelist
K
Kaspersky official blog
S
Schneier on Security
T
ThreatConnect
T
Tenable Blog
Spread Privacy
Spread Privacy
T
True Tiger Recordings
AWS News Blog
AWS News Blog
F
Fox-IT International blog
量子位
T
Threatpost
V
Vulnerabilities – Threatpost
C
CERT Recently Published Vulnerability Notes
Cisco Talos Blog
Cisco Talos Blog
GbyAI
GbyAI
宝玉的分享
宝玉的分享
腾讯CDC
G
Google Developers Blog
aimingoo的专栏
aimingoo的专栏
Cyberwarzone
Cyberwarzone
有赞技术团队
有赞技术团队
S
SegmentFault 最新的问题
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
Visual Studio Blog
U
Unit 42
雷峰网
雷峰网
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Simon Willison's Weblog
Simon Willison's Weblog
O
OpenAI News
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The GitHub Blog
The GitHub Blog
The Register - Security
The Register - Security
MyScale Blog
MyScale Blog
小众软件
小众软件
A
About on SuperTechFans
Last Week in AI
Last Week in AI
Y
Y Combinator Blog
博客园 - 三生石上(FineUI控件)
美团技术团队
Google Online Security Blog
Google Online Security Blog
P
Proofpoint News Feed
MongoDB | Blog
MongoDB | Blog

博客园 - lizhigang

Nginx Docker 容器白名单配置操作总结 使用 pnpm 构建 Vue2 项目操作总结(Node 16 → Node 22) 前端项目 Docker 镜像构建完整操作总结 Windows 11 下使用 MySQL Workbench 还原多数据库备份文件操作指南 在 WSL2 + Docker Desktop 环境下构建前后端 Docker 镜像 - lizhigang 从内网私有仓库迁移镜像到阿里云 ACR 完整指南 wsl网络设置允许访问ssh(端口22) 在 Windows 11 上安装 Docker Nginx配置 访问数据库报错 Windows系统运行RuoYi-Vue完整指南 RuoYi-Vue 项目结构分析 win11 报错 windows 11 如何使用 Microsoft Hyper-V VMware 替代产品 IntelliJ IDEA 社区版支持 Spring Boot 开发说明文档 imes开发部署(IDEA社区版 差异) IntelliJ IDEA 社区版默认支持 Spring Boot 吗? imes开发部署 IDEA 端口被占用 解决办法 使用MySQL Workbench进行数据库备份 ruoyi-nbcio ktg-mes、ktm-mes-ui部署 Widows下安装和配置Redis Windows下Redis安装与配置全攻略 mes开源 imes:注意 若依框架:开源
Docker 容器部署与运维总结报告
lizhigang · 2026-05-25 · via 博客园 - lizhigang

https://chat.deepseek.com/share/iwf2d72ef7i2034n9j

以下是根据当前系统环境生成的 Docker 容器部署与运维操作总结,内容涵盖所有运行中的容器、镜像、端口映射、配置要点及维护建议,可直接作为运维或故障排查参考。


Docker 容器部署与运维总结报告

一、概述

当前物理机(主机名 inspur-PowerEdge-R710)上通过 Docker 运行了 9 个容器,全部处于 Up 状态。这些容器共同构成了一套完整的 智能制造执行系统(MES) 开发/测试环境,包含以下核心服务:

  • 数据库层:MySQL(主从)、ClickHouse、Redis
  • 存储层:MinIO(主-从架构)
  • 业务层:imes-server(Java 后端)、imes-ui(前端)
  • 消息层:Mosquitto(MQTT)

所有容器均通过宿主机端口映射对外提供服务,便于外部访问和调试。


二、容器详细信息汇总

1. imes-minio-server(MinIO 主节点)

属性
容器 ID fb9768544395
镜像 swr.cn-north-4.myhuaweicloud.com/ddn-k8s/quay.io/minio/minio:RELEASE.2025-04-08T15-41-24Z
状态 Up 41 min
端口映射 9090→9090/tcp(Console API)
39001→9001/tcp(MinIO Console Web UI)
主要用途 提供对象存储主节点,处理读写请求
注意 Console Web 访问地址:http://<宿主机IP>:39001,API 地址:http://<宿主机IP>:9090

2. imes-minio-slave(MinIO 从节点)

属性
容器 ID df88bf4f54d9
镜像 同上
状态 Up 40 min
端口映射 49001→9001/tcp(Web UI)
49090→9090/tcp(API)
主要用途 作为 MinIO 从节点,用于同步或灾备
注意 Console 地址:http://<宿主机IP>:49001,API 地址:http://<宿主机IP>:49090

3. imes-mysql-server-33106(MySQL 主库)

属性
容器 ID 77acd7c09283
镜像 mysql:8.0
状态 Up 20 h
端口映射 33106→3306/tcp
主要用途 MES 业务主数据库
环境要点 默认 MySQL 8.0,需设置 root 密码(未在命令中体现,建议通过 docker inspect 查看 MYSQL_ROOT_PASSWORD

4. imes-mysql-slave(MySQL 从库)

属性
容器 ID d93ac1a0839b
镜像 mysql:8.0
状态 Up 5 h
端口映射 33206→3306/tcp
主要用途 主库的同步从库,用于读写分离或备份
注意 需要确认主从复制状态,定期检查 SHOW SLAVE STATUS

5. imes-clickhouse-server(ClickHouse 分析库)

属性
容器 ID 5a914dfe146d
镜像 clickhouse/clickhouse-server:24.8.4
状态 Up 20 h
端口映射 8123→8123/tcp(HTTP)
9000→9000/tcp(Native TCP)
9009→9009/tcp(内部复制)
主要用途 存储时序数据或分析型数据(如生产日志、指标)
访问方式 JDBC:jdbc:clickhouse://<IP>:8123,或者 clickhouse-client --port 9000

6. imes-redis-36379(Redis 缓存)

属性
容器 ID d49fd61005bc
镜像 redis:latest
状态 Up 20 h
端口映射 36379→6379/tcp
主要用途 缓存 session、热点数据、分布式锁
注意 未设置密码(建议生产环境配置 --requirepass

7. imes-mosquitto(MQTT Broker)

属性
容器 ID 6508d7dad8fe
镜像 harbor.iit-rdc.com:30443/mes/eclipse-mosquitto:latest
状态 Up 20 h
端口映射 31883→1883/tcp
主要用途 物联网设备或生产线消息通信
默认配置 无认证(建议配置用户/密码或 TLS)

8. imes-server(后端 Java 服务)

属性
容器 ID 1717558a3ca7
镜像 devops.inspur.com:80/ite/mes/repo/local_repo/imes-docker/imes/imes-server:dev-latest
状态 Up 16 h
端口映射 9092→9092/tcp(预留 RPC)
38090→8080/tcp(主 API)
38088→8088/tcp(管理或监控)
主要用途 MES 核心业务逻辑,提供 REST API
启动命令 java -jar /ktg-admin-*.jar(推断)
注意 依赖 MySQL、Redis、MinIO、ClickHouse,需确保配置文件中的连接地址指向宿主机对应映射端口

9. imes-ui(前端静态服务)

属性
容器 ID 6248bfb14212
镜像 devops.inspur.com:80/ite/mes/repo/local_repo/imes-docker/imes/imes-ui:dev-latest
状态 Up 20 h
端口映射 38080→80/tcp
主要用途 提供 Nginx 托管的前端页面
启动命令 /bin/sh -c 'envsubst...'(可能动态替换环境变量)
访问地址 http://<宿主机IP>:38080

三、端口占用一览表(宿主机视角)

宿主机端口 容器及服务 用途说明
9090 imes-minio-server MinIO API
39001 imes-minio-server MinIO Console
49001 imes-minio-slave MinIO Console(从)
49090 imes-minio-slave MinIO API(从)
33106 imes-mysql-server-33106 MySQL 主库
33206 imes-mysql-slave MySQL 从库
8123 imes-clickhouse-server ClickHouse HTTP
9000 imes-clickhouse-server ClickHouse 原生协议
9009 imes-clickhouse-server ClickHouse 内部复制
36379 imes-redis-36379 Redis
31883 imes-mosquitto MQTT (1883)
9092 imes-server RPC 端口
38090 imes-server 主 API (8080)
38088 imes-server 管理 API (8088)
38080 imes-ui 前端页面

四、容器间依赖关系(启动顺序建议)

若需重启整个环境,建议按以下顺序启动容器(依赖底层服务先启动):

  1. MySQL(主库 imes-mysql-server-33106 → 从库 imes-mysql-slave
  2. ClickHouse(imes-clickhouse-server)
  3. Redis(imes-redis-36379)
  4. MinIO(先主后从,或同时启动)
  5. Mosquitto(imes-mosquitto)
  6. imes-server(后端业务)
  7. imes-ui(前端界面)

注意:当前所有容器均为 docker run 创建且设置了 --restart 策略(未见输出,但通常未设置),建议补充 --restart=unless-stopped 以保证宿主机重启后自动恢复。


五、常用运维命令

查看所有容器状态

docker ps -a --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"

查看单个容器日志(以 imes-server 为例)

docker logs -f --tail 200 imes-server

进入容器内部调试(如 MySQL)

docker exec -it imes-mysql-server-33106 mysql -uroot -p

重启单个容器

docker restart imes-server

停止所有容器(谨慎使用)

docker stop $(docker ps -q)

备份容器配置(生成 docker run 命令)

docker run --rm -v /var/run/docker.sock:/var/run/docker.sock assaflavie/runlike imes-server

六、注意事项与改进建议

当前潜在问题

问题 风险 建议
Redis 无密码 内网可能被未授权访问 修改启动参数加入 --requirepass <密码>,并更新后端配置
Mosquitto 无认证 消息可被任意订阅/发布 配置 mosquitto.conf 开启用户密码认证
MinIO 两个节点未配置集群模式 仅独立运行,无自动同步 若需同步,使用 minio server --address :9090 --console-address :9001 http://node1/data http://node2/data 集群启动
MySQL 从库延迟 主从复制可能因网络或负载延迟 定期监控 Seconds_Behind_Master
镜像来自私有 Harbor 及华为云仓库 外网无法拉取或鉴权失败 确保 docker login 已配置,或导出镜像备份
容器无资源限制 可能耗尽宿主机 CPU/内存 添加 --cpus--memory 参数

改进建议(生产环境)

  1. 编排化:使用 Docker Compose 或 Kubernetes 管理容器,便于环境迁移和复制。
  2. 持久化存储:为数据库和 MinIO 挂载宿主机目录或卷(当前未在 docker ps 中显示,需通过 docker inspect 确认是否使用了 -v)。
  3. 健康检查:在 docker run 中加入 --health-cmd 自动探测服务可用性。
  4. 日志轮转:配置 Docker 日志驱动为 json-file 并设置 max-sizemax-file,避免磁盘占满。
  5. 网络隔离:创建自定义 Docker 桥接网络,容器间通过容器名通信,减少对外暴露的端口。

七、快速连接字符串(供开发或测试使用)

服务 连接示例
MySQL 主库 mysql -h 宿主机IP -P 33106 -uroot -p
MySQL 从库 mysql -h 宿主机IP -P 33206 -uroot -p
ClickHouse clickhouse-client --host 宿主机IP --port 9000
Redis redis-cli -h 宿主机IP -p 36379
MinIO API endpoint: http://宿主机IP:9090accessKey/secretKey 需从容器日志或环境变量获取
MinIO Console http://宿主机IP:39001(主)或 http://宿主机IP:49001(从)
MQTT Broker mqtt://宿主机IP:31883
MES API http://宿主机IP:38090
MES UI http://宿主机IP:38080

八、总结

当前 Docker 环境已完整部署 MES 系统所需的全部组件,且各容器运行稳定。建议定期执行 docker stats 监控资源使用,并依据上述“改进建议”逐步提升环境可靠性和安全性。本报告可作为日常运维、故障排查和新人入职的直接参考文档。

文档生成时间:2026-05-25
操作员:inspur(宿主机用户)
环境基线:Docker 引擎版本(未提供,可执行 docker version 查看)