Docker Cheat Sheet

In the compose directory of the ozone distribution there are multiple pseudo-cluster setup which can be used to run Ozone in different way (for example: secure cluster, with tracing enabled, with prometheus etc.).

If the usage is not document in a specific directory the default usage is the following:

cd compose/ozone
docker-compose up -d

The data of the container is ephemeral and deleted together with the docker volumes.

docker-compose down

Useful Docker & Ozone Commands

If you make any modifications to ozone, the simplest way to test it is to run freon and unit tests.

Here are the instructions to run freon in a docker-based cluster.

docker-compose exec datanode bash

This will open a bash shell on the data node container. Now we can execute freon for load generation.

ozone freon randomkeys --numOfVolumes=10 --numOfBuckets 10 --numOfKeys 10

Here is a set of helpful commands for working with docker for ozone. To check the status of the components:

docker-compose ps

To get logs from a specific node/service:

docker-compose logs scm

As the WebUI ports are forwarded to the external machine, you can check the web UI:

  • For the Storage Container Manager: http://localhost:9876
  • For the Ozone Manager: http://localhost:9874
  • For the Datanode: check the port with docker ps (as there could be multiple data nodes, ports are mapped to the ephemeral port range)

You can start multiple data nodes with:

docker-compose scale datanode=3

You can test the commands from the Ozone CLI after opening a new bash shell in one of the containers:

docker-compose exec datanode bash