Getting started with Egeria notebooks using docker

By October 9, 2019ODPi Egeria

Do you like understanding a new technology hands-on yet also want to understand the concepts? Concerned it will take too long to get started?

Wait no longer! You can now experiment with Egeria by making use of our new Jupyter notebooks installed via Docker. Within minutes (plus download time) you’ll be happily running REST API calls against a live Egeria environment, and gaining an understand of Egeria’s concepts.

In this first Blog post I’ll take you through getting set up with a lab environment and running your first notebook.


Before we get started on setting up Egeria, you’ll need access to a few things:

  • docker – the environment in which to run Egeria
  • git – the source code control tool to get files needed

Setting up docker

Docker makes it easy to run pre-created environments in ‘containers’ which are isolated from the host machine such as your laptop. The instructions here were tested with ‘Docker for Mac’, but you can also use ‘Docker for Windows’, or docker installed on linux.

Note: The containers are linux containers built for Intel 64 bit architecture, so they won’t work on ARM, nor will they work in Windows containers …

Once you’ve installed docker, make sure it’s running as covered in the docs above. If using windows or mac, you should see a docker icon (a whale) on the toolbar.

Setting up git

git is the tool we use to manage our code. If you don’t have it installed, install it from the git website (easiest), or else from your linux distribution or homebrew . No special configuration is needed.

Retrieving the Egeria code

You’re now ready to retrieve the Egeria code. Whilst we only need a few files for the docker work this will be useful for further exercises and following along with other blog posts.

Open up a command window (mac, windows or linux), switch to a suitable directory and type:

git clone 

This will pull down the egeria code locally to your machine.

Running the notebooks

We’re now ready to run the notebook. To do this we will use a feature of docker called ‘docker-compose’. This is a simple approach to running multiple containers (think of these as applications or services) together.

For this example we are running

To get started with the docker compose environment (all one line – and replace / with \ for Windows):

cd egeria/open-metadata-resources/open-metadata-deployment/compose/tutorials
docker-compose -f egeria-tutorial.yaml up

At this point you’ll notice a lot of activity. Once it has settled down go to a web browser and go to http://localhost:18888 . You should see a Jupyter notebook environment open, and a list of our current labs will be shown in the left hand folder tree

If you don’t see the UI appear, press CTRL-C, and retry the docker compose command. Sometimes a slower network download can cause things not to start properly first time.

Running the notebooks

In the Jupyter UI navigate to ‘administration’ and open up the `read-me-first` notebook. This introduces you to how to setup an Egeria environment in a fictional company ‘Coco Pharmaceuticals’.

The large blue bar is effectively a cursor. It shows where you are in the notebook. Read each paragraph in turn and then hit the ‘play’ button to progress through the notebook. You can also press SHIFT-ENTER to run the current step and move to the next one.  As well as text, some paragraphs contain code which are being executed live against a real egeria server in your docker environment.

Once you’ve worked through this notebook try ‘managing-servers’ which goes into more specifics of how to start and stop servers. Other tutorials get into topics such as accessing assets.

Shutting down the environment

docker-compose -f egeria-tutorial.yaml down

Updating the environment

Each time the environment is started the same code will be run, since the container is downloaded the first time it’s used. 

In order to refresh the contains and run the latest code (recommended) run:

docker-compose -f egeria-tutorial.yaml pull

Further information

If you have any problems running the notebooks:

These containers we used above can be used in other ways too – stay tuned to the blog to find out more.

Social Media Auto Publish Powered By :