This repo contains Dockerfiles for building Docker images for Apache Flink, and are used to build
the "official" flink
images hosted on Docker Hub.
These Dockerfiles are maintained by the Apache Flink community, but the Docker community is responsible building and hosting the images on Docker Hub.
- For more information about how changes in this repo are reflected on Docker Hub, see the "An image's source changed in Git, now what?" FAQ entry
- For outstanding changes to the Apache Flink images on Docker Hub, see PRs with the
"library/flink" label on the
official-images
repository - For the "source of truth" for which Dockerfile and revision is reflected in the Apache Flink
images on Docker Hub, see the
library/flink
file in theofficial-images
repository.
When a new release of Flink is available, the Dockerfiles in this repo should be updated and a new
manifest sent to the Docker Library official-images
repo.
Updating the Dockerfiles involves 3 steps:
- Update
add-version.sh
with the GPG key ID of the key used to sign the new release- Commit this change with message
Add GPG key for x.y.z release
[example]
- Commit this change with message
- Remove any existing Dockerfiles from the same minor version
- e.g.
rm -r 1.2
, if the new Flink version is1.2.1
- e.g.
- Run
add-version.sh
with the appropriate arguments (-r flink-minor-version -f flink-full-version
)- e.g.
./add-version.sh -r 1.2 -f 1.2.1
- Commit these changes with message
Update Dockerfiles for x.y.z release
[example]
- e.g.
A pull request can then be opened on this repo with the changes.
Once the pull request has been merged, a new manifest should be generated and a pull request opened
on the Docker Library official-images
repo.
- Run
./generate-stackbrew-library.sh
to output the new manifest (see note below regarding usage of this script) - In a clone of the
official-images
repo, overwrite the filelibrary/flink
with the new manifest - Commit this change with message
Update to Flink x.y.z
[example]
A pull request can then be opened on the official-images
repo with the new manifest. [example]
Once the pull request has been merged (often within 1 business day), the new images will be available shortly thereafter.
generate-stackbrew-library.sh
is used to generate the library manifest file required for official
Docker Hub images.
When the Dockerfiles in this repo are updated, the output of this script should replace the contents
of library/flink
in the Docker official-images repo via a pull request.
Note: Since this script requires the bashbrew
binary and a compatible version of Bash, the script
generate-stackbrew-library-docker.sh
can be used to invoke the script in a Docker container with
the necessary dependencies.
Example:
./generate-stackbrew-library-docker.sh > /path/to/official-images/library/flink
Licensed under the Apache License, Version 2.0: https://www.apache.org/licenses/LICENSE-2.0
Apache Flink, Flink®, Apache®, the squirrel logo, and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation.