Skip to content

[docs] Reintroduce the fluss-quickstart-flink Docker image #2683

@wuchong

Description

@wuchong

Search before asking

  • I searched in the issues and found nothing similar.

Motivation

The fluss-quickstart-flink Docker image was previously provided as a convenient, self-contained way for new users to quickly try out Fluss with Apache Flink through the quickstart documentation. However, this image is no longer shipped or referenced in the current quickstart guide (see #1997).

While testing Fluss 0.9 RC1 with the updated quickstart instructions, I encountered significant usability issues during the JAR artifact download phase. Due to an unstable network connection (very common in mainland China), several curl commands failed silently—terminating prematurely without clear error messages but leaving partially downloaded (and thus corrupted) JAR files on disk. Believing the setup was complete, I proceeded to run docker-compose, only to encounter cryptic “class not found” errors. After extensive debugging, I discovered that some JARs were either missing or incomplete.

This experience highlights a critical flaw: while the current approach—downloading JARs separately and mounting them into a generic Flink Docker image—offers flexibility in choosing Flink versions, it severely compromises the core purpose of a quickstart: to enable anyone, regardless of prior Flink or Fluss experience, to get up and running within five minutes with zero friction.

In contrast, the Apache Iceberg project provides a prebuilt spark-iceberg Docker image (https://github.com/databricks/docker-spark-iceberg), which bundles all necessary dependencies and dramatically lowers the barrier to entry (see https://iceberg.apache.org/spark-quickstart/#docker-compose). This pattern demonstrates that a dedicated quickstart image is not just helpful—it’s essential for a smooth onboarding experience.

Given that Fluss 0.9 now includes Spark connector support, we should also consider publishing a fluss-quickstart-spark image in the future.

Solution

That said, the current JAR-download + flexible-Flink-image approach still has its place—for advanced users who need version control or customization. However, it belongs in a more detailed “Engine Flink → Getting Started” section (which currently uses standalone deployment). We could enhance that section by adding a tabbed option for Docker Compose–based deployment.

In summary, I propose:

  1. Reintroducing a prebuilt fluss-quickstart-flink Docker image (ideally based on Flink 2.2 to showcase the latest features) for the main quickstart.
  2. Moving the current manual JAR + Docker Compose workflow to an advanced “Engine Flink → Getting Started” guide.
  3. Planning a fluss-quickstart-spark image alongside for Spark Quickstart.

Note: this is not a blocker of release 0.9, and should be done after 0.9 is released.

Anything else?

No response

Willingness to contribute

  • I'm willing to submit a PR!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions