Public | Automated Build

Last pushed: 3 years ago
Short Description
Official docker container for the topfarm project
Full Description

TOPFARM is an open source tool for optimizing wind farms based on OpenMDAO and FUSED-Wind. The source is available on github.
This container is a convenient way to deploy the topfarm tool on linux, windows and macos without the hassle of installing all the necessary libraries.

What you get

The container is built on ipython/scipysever, piredtu/openmdao: and piredtu/fusedwind.

Downloading the container

Start your docker

then simply

$ docker pull dtuwindenergy/topfarm

Running the container

There are two ways to run it:

Bash mode:

$ docker run -it dtuwindenergy/topfarm bash

Note that you need to activate a virtual environement when inside the container to be able to run openmdao, fusedwind or topfarm scripts:


IPython notebook mode:

$ docker run -d -p 80:8888 -e 'PASSWORD=openmdao' dtuwindenergy/topfarm

Then point your browser to the IP address given to your docker (in MacOS and Windows you should get it with the command boot2docker ip)

Getting your data in and out

You will probably want to mount your local drive with the -v optional command (see the doc).

some examples for a MacOS/linux machine to mount your home directory:

$ docker run -it -v $HOME:/home dtuwindenergy/topfarm bash
$ docker run -d -p 80:8888 -v $HOME:/topfarm/home dtuwindenergy/topfarm

Working with the same container

Sometimes you want to reuse the same container, in order not to have to type the same long commnand line over and over, or to keep the changes you have done in it.
Here we create a container that is caller topfarm.

$ docker run -d -p 80:8888 -e 'PASSWORD=openmdao' --name topfarm -v $HOME:/topfarm/home dtuwindenergy/topfarm

To stop the container

$ docker stop topfarm

To restart the container

$ docker restart topfarm

While the container is running one can also execute commands with it

$ docker exec -it topfarm bash
$ docker exec -it topfarm omdao ipython

Updating the image

If you have made some changes inside the container and want to save them, you will need to commit the container to a new image.

If you haven't given a name to the container, then get its nickname (here it's romantic_fermi)

$ docker ps

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                  NAMES
ee9d5bcacf8f        dtuwindenergy/topfarm:latest      "/"      5 hours ago         Up About an hour>8888/tcp   romantic_fermi

Then commit the changes

$ docker commit -m "awesome changes" romantic_fermi dtuwindenergy/topfarm:new_tag

your images can be listed with

docker images

dtuwindenergy/topfarm   new_tag    f42f6583f5f2    1 minute ago    1.968 GB
dtuwindenergy/topfarm   latest     f42f6583f5f2    4 hours ago      1.968 GB
Docker Pull Command
Source Repository