This repo contains the docker demo resources for building docker demo images, set up the demo, and running Hudi in the docker demo environment.
The /hoodie folder contains all the configs for assembling necessary docker images. The name and repository of each docker image, e.g., apachehudi/hudi-hadoop_2.8.4-trinobase_368, is defined in the maven configuration file pom.xml.
The /compose folder contains the yaml file to compose the Docker environment for running Hudi Demo.
The /demo folder contains useful resources and sample data use for the Demo.
To build all docker images locally, you can run the script:
./build_local_docker_images.shTo build a single image target, you can run
mvn clean pre-integration-test -DskipTests -Ddocker.compose.skip=true -Ddocker.build.skip=false -pl :<image_target> -am # For example, to build hudi-hadoop-trinobase-docker mvn clean pre-integration-test -DskipTests -Ddocker.compose.skip=true -Ddocker.build.skip=false -pl :hudi-hadoop-trinobase-docker -amAlternatively, you can use docker cli directly under hoodie/hadoop. Note that, you need to manually name your local image by using -t option to match the naming in the pom.xml, so that you can update the corresponding image repository in Docker Hub (detailed steps in the next section).
# Run under hoodie/hadoop, the <tag> is optional, "latest" by default docker build <image_folder_name> -t <hub-user>/<repo-name>[:<tag>] # For example, to build trinobase docker build trinobase -t apachehudi/hudi-hadoop_2.8.4-trinobase_368After new images are built, you can run the following script to bring up docker demo with your local images:
./setup_demo.sh devOnce you have built the updated image locally, you can push the corresponding this repository of the image to the Docker Hud registry designated by its name or tag:
docker push <hub-user>/<repo-name>:<tag> # For example docker push apachehudi/hudi-hadoop_2.8.4-trinobase_368You can also easily push the image to the Docker Hub using Docker Desktop app: go to Images, search for the image by the name, and then click on the three dots and Push to Hub.
Note that you need to ask for permission to upload the Hudi Docker Demo images to the repositories.
You can find more information on Docker Hub Repositories Manual.
Please refer to the Docker Demo Docs page.
