在这里插入图片描述

获取官方镜像
从 Docker Hub 上拉取最新的 Apache SeaTunnel 镜像:

docker pull apache/seatunnel:latest

创建目录

sudo mkdir -p /data/{conf,logs}  # 需要 root 权限创建 /data 目录
sudo chown -R $USER:$USER /data  # 将目录权限给当前用户(可选)
docker run -d \--name sea_tunnel_container \-p 9090:8080 \-v /data/conf:/opt/seatunnel/conf \-v /data/logs:/opt/seatunnel/logs \-e SEATUNNEL_HOME="/opt/seatunnel" \apache/seatunnel:latest
docker ps -a | grep sea_tunnel_container
  1. 查看日志
    如果需要查看容器日志:
docker logs sea_tunnel_container
  1. 停止和清理容器
docker stop sea_tunnel_container
docker rm sea_tunnel_container

注意事项
权限问题:确保 SeaTunnel 容器有权限写入 /data/logs 目录。如果遇到权限错误,可以:

sudo chmod -R 777 /data/logs  # 开放所有权限(测试环境可用)

或更安全的方式:

sudo chown -R 1000:1000 /data/logs  # 通常容器内用户 UID 是 1000

配置准备:SeaTunnel 需要特定的配置文件(如 config.yaml 或 application.conf),确保提前放入 /data/conf 目录。
数据持久化:所有日志和配置都保存在宿主机的 /data 目录下,即使容器删除也不会丢失。
端口冲突:如果 9090 端口已被占用,可以更改为其他端口,如 -p 9091:8080。
这样配置后,SeaTunnel 的所有日志和配置都会持久化在宿主机的 /data 目录下。

docker-compose安装

对于单节点部署可以采用如下形式的 docker-compose.yml

version: '3.8'
services:seatunnel:image: apache/seatunnel:latestcontainer_name: sea_tunnel_containerhostname: seatunnel-serverports:- "9090:8080"  # Web UI 访问端口volumes:- /data/seatunnel/conf:/opt/seatunnel/conf   # 配置文件目录- /data/seatunnel/logs:/opt/seatunnel/logs   # 日志目录- /etc/localtime:/etc/localtime:ro           # 同步宿主机时区environment:SEATUNNEL_HOME: "/opt/seatunnel"TZ: Asia/Shanghai                            # 设置容器时区restart: unless-stopped                        # 自动重启策略healthcheck:test: ["CMD", "curl", "-f", "http://localhost:8080"]  # 健康检查interval: 30stimeout: 10sretries: 3deploy:resources:limits:cpus: '2'     # 限制 CPU 使用memory: 2G     # 限制内存使用reservations:memory: 1G     # 内存保留值networks:- seatunnel-net    # 使用自定义网络(可选)networks:seatunnel-net:driver: bridge
配置目录:/data/seatunnel/conf → 映射到容器内的 /opt/seatunnel/conf
日志目录:/data/seatunnel/logs → 映射到容器内的 /opt/seatunnel/logs

确保宿主机目录存在(需手动创建):

sudo mkdir -p /data/seatunnel/{conf,logs}  # 创建目录结构
sudo chown -R $USER:$USER /data/seatunnel  # 赋予当前用户权限(避免权限问题)

如果 Docker 默认用户(UID 1000)需要访问:

sudo chmod -R 775 /data/seatunnel  # 开放读写权限

或更安全的做法:

sudo chown -R 1000:1000 /data/seatunnel  # 让容器用户(通常UID 1000)拥有权限

使用方式
启动 SeaTunnel:

docker-compose up -d

检查容器状态:

docker-compose ps
docker-compose logs -f  # 实时查看日志

访问 Web UI:
浏览器访问 http://<宿主机IP>:9090

优点
✅ 数据持久化:所有配置和日志存储在 /data/seatunnel,即使容器删除也不会丢失。
✅ 统一管理:所有数据集中存放在 /data 目录,便于备份和维护。
✅ 权限可控:通过 chown/chmod 确保容器能正确读写数据。
如果 SeaTunnel 还需要其他数据卷(如插件目录),可以按相同方式挂载到 /data/seatunnel/plugins。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/88047.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/88047.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/88047.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据结构:数组:线性查找(Linear Search)

目录 什么是线性查找&#xff1f; 时间复杂度分析 &#x1f9e0; 线性查找的优化 方法一&#xff1a;Move to Front&#xff08;哨兵&#xff09; 方法二&#xff1a;Transportation&#xff08;向前交换一步&#xff09; 什么是线性查找&#xff1f; 我们先问&#xf…

石子入水波纹效果:UV扰动着色器实现

利用UV坐标扰动来模拟水面是一种常见且有效的技术手段,上述效果主要通过对水面纹理的UV坐标进行动态偏移或扰动,从而模拟水波的流动和波纹效果。资源下载具体实现和原理如下: 基本思路:通过对水面纹理的UV坐标加上时间相关的扰动函数(如正弦波、余弦波、噪声函数等),使纹…

Java Lambda 类型推断详解:filter() 方法与 Predicate<? super T>

一、问题核心解析1. 代码示例分析List<String> strings Arrays.asList("abc", "", "bc", "efg", "abcd","", "jkl"); List<String> filtered strings.stream().filter(string -> !str…

XSS:xss.haozi.me靶场练习

超链接:alert(1) 知识点: html <&#xff01;--被注释的内容--> <&#xff01;--被注释的内容!--> php /*被注释的内容*/ //被注释的内容 javascript /*被注释的内容*/ //被注释的内容 MySQL …

ubuntu 20.04 安装中文输入法 (sougou pin yin)

安装搜狗输入法包 参照官方指南完成 如果提示没有找到相关依赖&#xff0c;添加一下源&#xff1a; sudo add-apt-repository universe sudo apt update重启。

(DETR)End-to-End Object Detection with Transformers论文精读(逐段解析)

(DETR)End-to-End Object Detection with Transformers论文精读&#xff08;逐段解析&#xff09; 论文地址&#xff1a;https://arxiv.org/abs/2005.12872 CVPR 2020 Facebook AI 发布 Abstract. We present a new method that views object detection as a direct set pred…

[linux][shell]通过分析 Nginx 的访问日志,检测异常 IP 地址并使用iptables 将其封禁

这段脚本的作用是通过分析 Nginx 的访问日志&#xff0c;检测异常的 IP 地址&#xff0c;并使用 iptables 封禁这些 IP。#!/bin/bash# 配置变量 LOG_FILE"/usr/local/nginx/logs/access.log" THRESHOLD10 DROP_LOG_FILE"/tmp/drop_ip.log" DATE$(date &quo…

stm32cube ide如何将工具链替换成arm-none-eabi-gcc

在 STM32Cube IDE 中替换工具链为GNU Arm Embedded Toolchain (arm-none-eabi-gcc)&#xff0c;可按以下步骤操作&#xff1a; 1. 检查是否已安装工具链 首先确认系统中是否已安装 arm-none-eabi-gcc&#xff1a; Windows&#xff1a;检查环境变量 PATH 中是否包含工具链路径…

Linux 系统 /etc/ 配置

在Linux系统中&#xff0c;/etc/ 目录是系统配置文件的核心存放位置&#xff0c;包含了各种系统服务、应用程序和硬件的配置信息。以下是该目录下常见的重要配置文件和子目录&#xff1a; 核心系统配置文件 /etc/hostname 系统主机名配置&#xff0c;直接决定当前系统的名称。/…

【跟着PMP学习项目管理】项目管理 之 成本管理知识点

目录 一、估算成本 1、知识点汇总 2、输入 3、工具 4、输出 二、预算成本 1、知识点汇总 2、输入 3、工具 4、输出 三、控制成本 1、知识点汇总 2、输入 3、工具 4、输出 一、估算成本 1、知识点汇总 1) 估算工具的用法 2、输入 范围基准、人力资源计划、项…

TCP相关实验

目录 TCP相关实验 理解CLOSE_WAIT状态 理解​​​TIME_WAIT状态 解决TIME_WAIT状态引起的bind失败的方法 理解listen的第二个参数 ​编辑 使用Wireshark分析TCP通信流程 TCP与UDP TCP与UDP对比 用UDP实现可靠传输&#xff08;经典面试题&#xff09; TCP相关实验 理解…

Spring Boot项目初始化:官方与阿里云服务地址对比指南

服务提供商 官方&#xff08;start.spring.io Spring&#xff09; 官方提供的服务&#xff0c;由Pivotal&#xff08;VMware&#xff09;维护&#xff0c;是标准的初始化工具。 阿里云&#xff08;start.aliyun.com&#xff09; 阿里云提供的国内镜像服务&#xff0c;针对中国开…

创客匠人创始人IP案例:从个人品牌到企业增长的全链路拆解

认知破局&#xff1a;为什么创客匠人创始人IP能撬动企业增长&#xff1f;在知识付费工具竞争同质化的当下&#xff0c;创客匠人创始人老蒋以“IP变现领军人”的IP形象&#xff0c;为企业打开了差异化增长通道。当同行还在比拼“功能数量”时&#xff0c;老蒋通过《领导者请停止…

UVC(USB Video Class,USB 视频类)协议

UVC&#xff08;USB Video Class&#xff0c;USB 视频类&#xff09;协议并非专门仅用于相机&#xff0c;但其核心应用场景集中在视频采集设备&#xff0c;相机是最典型的代表。其适用设备除了常见的 USB 相机&#xff08;包括 webcam、工业相机、监控摄像头等&#xff09;&…

如何使用 eBPF 监控 Linux 内存情况:Linux 内存调优之 eBPF 内存监控分析

写在前面 博文内容整理自 《BPF Performance Tools》 书中 内存部分对书中提到BPF工具配合实际Demo进行说明,以及一些变体的输出涉及下面一些内存问题的 BPF 观测 Demo:为什么进程的物理内存占用(RSS)不停增长?哪些代码路径会导致缺页错误的发生,缺页错误来自哪些文件?大页的…

SQL 表结构转 Go、Java、TS 自定义实体类,支持自编模板

SQL 表结构一键转自定义模型&#xff0c;支持 Golang Template 自由编写&#xff01; 有没有想过 —— 一份 SQL 表结构&#xff0c;不止能转成 Java 实体类、Go struct&#xff0c;甚至可以&#xff1a; ✨ 一键生成 TypeScript 接口✨ 输出 Protobuf 定义文件✨ 输出任意你…

新型BERT勒索软件肆虐:多线程攻击同时针对Windows、Linux及ESXi系统

趋势科技安全分析师发现&#xff0c;一个代号为BERT&#xff08;内部追踪名Water Pombero&#xff09;的新型勒索软件组织正在亚洲、欧洲和美国展开多线程攻击。该组织主要针对医疗保健、科技和会展服务行业&#xff0c;其活动范围显示其正成为勒索软件生态中的新兴威胁力量。攻…

Three.js搭建小米SU7三维汽车实战(1)搭建开发环境

1.基本概念 ![](https://i-blog.csdnimg.cn/img_convert/a4676122e207e058f3a335df2c99d4f8.png)1) 场景 如何理解场景 场景就是一个三维的世界, 在这个世界中可以放置各种各样的物体 可以理解成一个**空间**, 或者**容器** 2) 相机 如何理解相机 &#x1f914;**思考: *…

Selenium 原理【selenium】

Selenium 是什么&#xff1f;Selenium 是一个专门用于自动化操作网页的工具集&#xff0c;它能够模拟人类在浏览器中进行的各种操作&#xff0c;如点击按钮、填写表单、滚动页面等。借助 Selenium&#xff0c;开发者可以编写脚本来控制浏览器&#xff0c;实现自动化测试、数据采…

【音视频】HLS-m3u8协议介绍

参考文档&#xff1a;https://datatracker.ietf.org/doc/html/rfc8216 一、m3u8协议概述 m3u8 协议是基于 M3U 格式扩展而来的一种多媒体播放列表协议&#xff0c;主要用于流媒体的索引和分发&#xff0c;尤其在 HLS&#xff08;HTTP Live Streaming&#xff09;技术中扮演核…