专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像

交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题轩辕镜像免费版
其他
关于我们网站地图
热门搜索:
返回博客首页
Apache Flink Docker 容器化部署指南
2025/12/14Docker,Apache Flink轩辕镜像团队约 9 分钟阅读

Apache Flink Docker 容器化部署指南

Apache Flink® 是一个强大的开源分布式流处理与批处理框架,具备高吞吐、低延迟和强状态一致性等特性。通过 Docker 方式部署 Flink,可实现环境一致性、快速部署与简化运维,非常适合开发测试、POC 以及中小规模生产场景。 本文将详细介绍 如何使用 Docker 容器化部署 Apache Flink Session 集群,内容涵盖环境准备、镜像拉取、集群部署、功能验证、生产环境建议及常见故障排查,帮助你快速搭建一套稳定、可用的 Flink 运行环境。

apache-flinkdocker部署教程

本文使用的 Docker 镜像

library/flink

概述

Docker 部署 Flink 的典型优势包括:

  • 环境一致,避免「本地能跑、服务器跑不了」
  • 快速启动与销毁,适合弹性扩缩容
  • 便于结合私有镜像仓库与加速服务
  • 运维成本低,适合开发与测试场景

⚠️ 说明: Docker 方式更适合开发测试、POC 及轻量生产环境; 大规模生产集群(高可用、多租户)推荐使用 Kubernetes 或 YARN。

环境准备

Docker 环境安装

在部署 Flink 容器前,请确保服务器已安装 Docker。 可使用以下一键脚本快速完成 Docker 安装与配置:

bash
bash <(wget -qO- https://xuanyuan.cloud/docker.sh)

安装完成后,执行以下命令验证:

bash
docker --version

若输出类似 Docker version 20.10.x,则说明 Docker 安装成功。

镜像准备

拉取 Flink 镜像

推荐明确指定版本标签,避免使用 latest 带来的不确定性风险。

bash
docker pull xxx.xuanyuan.run/library/flink:2.1.1-scala_2.12-java17

验证镜像是否拉取成功:

bash
docker images | grep flink

容器部署(Session 集群模式)

Flink 常见运行模式包括:

模式说明是否支持提交多个作业
standalone本地调试❌
standalone-job容器即作业❌
session(推荐)常驻集群✅

本文采用官方推荐的 Session 模式,即:

  • 1 个 JobManager
  • N 个 TaskManager
  • 可通过 Web UI / CLI 提交多个作业

创建 Docker 自定义网络(推荐)

bash
docker network create flink-network

使用自定义网络可以避免使用已废弃的 --link,并提高可维护性。

启动 JobManager

bash
docker run -d \
  --name flink-jobmanager \
  --network flink-network \
  -p 8081:8081 \
  -e JOB_MANAGER_RPC_ADDRESS=flink-jobmanager \
  -e JOB_MANAGER_HEAP_SIZE=1024m \
  xxx.xuanyuan.run/library/flink:2.1.1-scala_2.12-java17 \
  jobmanager

参数说明:

  • JOB_MANAGER_RPC_ADDRESS:必须为 JobManager 容器名
  • 8081:Flink Web UI 默认端口

启动 TaskManager

bash
docker run -d \
  --name flink-taskmanager-1 \
  --network flink-network \
  -e JOB_MANAGER_RPC_ADDRESS=flink-jobmanager \
  -e TASK_MANAGER_HEAP_SIZE=2048m \
  -e TASK_MANAGER_NUMBER_OF_TASK_SLOTS=2 \
  xxx.xuanyuan.run/library/flink:2.1.1-scala_2.12-java17 \
  taskmanager

💡 建议:

  • Task Slots 通常 ≈ CPU 核心数
  • 可通过增加 TaskManager 数量实现横向扩展

启动状态验证

bash
docker ps | grep flink

功能验证

访问 Flink Web UI

在浏览器中访问:

http://<服务器IP>:8081

若能看到 Flink Dashboard,并显示已注册的 TaskManager,则说明集群运行正常。

提交测试作业(WordCount)

进入 JobManager 容器:

bash
docker exec -it flink-jobmanager /bin/bash

提交示例作业:

bash
./bin/flink run ./examples/streaming/WordCount.jar

在 Web UI 的 Running Jobs / Completed Jobs 页面中,可查看作业状态与执行详情。

查看容器日志

bash
docker logs flink-jobmanager
docker logs flink-taskmanager-1

若日志中出现:

  • JobManager started
  • Registered TaskManager

则说明集群通信正常。

生产环境建议

状态数据与检查点持久化(重要)

⚠️ Flink 不会自动识别普通环境变量配置状态后端, 推荐使用 FLINK_PROPERTIES 方式注入配置:

bash
docker run -d \
  --name flink-jobmanager \
  --network flink-network \
  -p 8081:8081 \
  -v /data/flink/checkpoints:/opt/flink/checkpoints \
  -e JOB_MANAGER_RPC_ADDRESS=flink-jobmanager \
  -e FLINK_PROPERTIES="
state.backend: filesystem
state.checkpoints.dir: file:///opt/flink/checkpoints
parallelism.default: 4
" \
  xxx.xuanyuan.run/library/flink:2.1.1-scala_2.12-java17 \
  jobmanager

资源限制

bash
docker run -d \
  --name flink-taskmanager \
  --network flink-network \
  --memory=4g \
  --cpus=2 \
  -e JOB_MANAGER_RPC_ADDRESS=flink-jobmanager \
  xxx.xuanyuan.run/library/flink:2.1.1-scala_2.12-java17 \
  taskmanager

常用环境变量速查

配置项说明示例
JOB_MANAGER_HEAP_SIZEJM 内存1024m
TASK_MANAGER_HEAP_SIZETM 内存4096m
TASK_MANAGER_NUMBER_OF_TASK_SLOTSSlot 数4
parallelism.default默认并行度4
state.backend状态后端filesystem / rocksdb

常见故障排查

  1. 容器启动即退出 执行命令查看日志:

    bash
    docker logs flink-jobmanager
    

    常见原因:

    • 端口冲突(8081)
    • 内存不足
    • RPC 地址配置错误
  2. Web UI 无法访问 检查项:

    • -p 8081:8081 是否配置
    • 防火墙是否放行 8081
    • 容器是否在 Running 状态
  3. 作业无法运行 常见原因:

    • TaskManager 数量不足
    • Slot 数小于作业并行度
    • 作业 Jar 依赖未打包完整

参考资料

  • Flink 镜像文档(轩辕):https://xuanyuan.cloud/r/library/flink
  • 镜像标签列表:https://xuanyuan.cloud/r/library/flink/tags
  • Apache Flink 官网:https://flink.apache.org/
  • Flink Docker 官方文档
  • Docker 官方文档

总结

本文介绍了 基于 Docker 的 Apache Flink Session 集群部署方案,涵盖从环境准备到生产实践的完整流程。

关键要点:

  • 明确区分 Flink 的运行模式,避免混用
  • 使用自定义 Docker 网络替代 --link
  • 使用 FLINK_PROPERTIES 注入核心配置
  • 生产环境固定镜像版本,避免 latest

该方案适合开发测试及中小规模生产使用,若需要更高可用性与弹性能力,建议进一步迁移至 Kubernetes 环境。

你可能也想看

告别多账号切换!用 9Router 一键把所有 AI 模型变成一个 API,Cursor/Cline 直接起飞

还在为 AI 客户端配置混乱、多账号来回切换、Token 消耗过高而头疼?最近爆火的开源项目 **9Router** 彻底解决了这些痛点!它能把 OpenAI、Claude、Gemini、Copilot、Ollama 等所有主流 AI 服务,统一成一个标准的 OpenAI API 接口,不管是 Cursor、Cline 还是 Cherry Studio、OpenWebUI,直接用一个地址就能调用所有模型,还自带 Token 压缩,大幅降低成本!本文从 0 开始带你用 Docker 一键部署,全程干货无废话。

OpenClaw,AI,9Router,部署教程2026年5月20日

轻量AI接口网关一键部署|calciumion/new-api Windows/Linux Docker 部署全教程

推荐一款轻量高效的AI统一API服务镜像——calciumion/new-api,无需复杂配置,依托Docker即可一键极速部署。本文完整讲解Windows、Linux全环境部署流程,全程复制命令就能操作,纯新手也能快速落地,看完直接上手私有AI接口网关搭建。

new-api,AI,部署教程,one-api2026年5月11日

2026 年 5 月最新 Docker 镜像源加速列表与使用指南

本文汇总了2026 年 5 月最新可用且稳定的国内Docker镜像加速地址,覆盖Docker、K8s containerd、Podman、nerdctl等主流场景,零基础用户也能按步骤完成配置。

Docker,镜像源,轩辕镜像2026年5月2日

告别广告和追踪!5 分钟用 Docker searxng 搭建你的私人搜索引擎

厌倦了满屏广告的搜索引擎?担心搜索隐私被泄露?本文教你用Docker一键部署开源元搜索引擎SearXNG,聚合Google、Bing、DuckDuckGo等多个搜索源,去广告、去追踪,打造完全属于你自己的私人搜索入口。

searxng,部署教程2026年4月27日

别让烂代码拖垮项目!Docker一键部署SonarQube,10分钟搞定代码质量检测

还在为代码里的隐藏bug、安全漏洞和越积越多的技术债头疼?本文教你用Docker快速部署SonarQube这款业界领先的代码质量检测工具,从环境准备到第一次代码扫描全程保姆级教学。支持30多种编程语言,能自动检测bug、安全漏洞、代码异味,还能生成可视化的质量报告,让你的团队告别"屎山",写出更健壮、更易维护的代码。

SonarQube,部署教程2026年4月26日

从零开始Docker部署OpenClaw:踩坑全记录+新手保姆级教程

OpenClaw(江湖人称"龙虾")绝对是其中的佼佼者。它不仅支持GPT-5.5、Claude Opus等几乎所有主流大模型,还能一键集成浏览器控制、文件操作、语音通话等强大功能。今天将完整的部署步骤和所有踩坑经验整理出来,新手照着做也能10分钟成功部署!

OpenClaw,AI,部署教程2026年4月25日

免责声明

本博客文章所提供的内容、技术方案、配置示例及部署指南等信息,仅供学习交流和技术参考使用。文章内容基于发布时的技术环境和版本信息编写,可能因时间推移、技术更新或环境差异而存在不适用的情况。

用户在参考本博客内容进行部署操作前,应当充分了解相关技术风险,并建议在测试环境中进行充分验证和测试,确认无误后再考虑在生产环境中使用。生产环境部署前,请务必进行数据备份,并制定相应的回滚方案。

用户因使用本博客内容进行部署操作而产生的任何损失、数据丢失、系统故障、安全风险或其他问题,均由用户自行承担全部责任。轩辕镜像官方不对因使用本博客内容而产生的任何直接或间接损失承担责任。

本免责声明的最终解释权归轩辕镜像官方所有。

最后更新:2025/12/30
轩辕镜像
博客公告
...
apache-flink-docker
博客Docker 镜像公告与技术博客
热门查看热门 Docker 镜像推荐
安装一键安装 Docker 并配置镜像源
镜像拉取问题咨询请 提交工单。官方公众号:源码跳动。官方技术交流群:51517718。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
镜像拉取问题咨询请提交工单。官方公众号:源码跳动。官方技术交流群:。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
商务合作:点击复制邮箱
©2024-2026 源码跳动
商务合作:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.