Docker container saves the efforts for setting up Python and installing dependent packages. A Docker container of andes is available if you prefer to use it in a container without installation.
There are excellent tutorial on the internet for getting started with Docker. For example, checkout the Docker installation guide at https://docs.docker.com/install/.
Please continue reading after installing Docker.
Getting the Docker Image
To pull the Docker image from DockerHub, run
docker pull cuihantao/andes:latest
When you run andes inside a docker, it is executed inside a container. Andes in the container only has access to files within the container.
To run andes for a file in the local file system, one needs to mount the folder containing the file to the container. Mounting is done with
--volume, followed by the source directory and destination directory followed by colon. The destination directory must be
/andes for andes containers.
For the source folder, It is recommended to create a folder specifically for andes test cases. For example, my folder is at
/Users/hcui7/notebooks (this location is specific to your system and user name).
Next, copy andes test cases into the folder. In the example, I’m using
To run andes using docker, run
docker run -v /Users/hcui7/notebooks:/andes cuihantao/andes run kundur_full.xlsx
-v /Users/hcui7/notebooks:/andes does the folder mounting,
cuihantao/andes is the image name, and
run kundur_full.xlsx is the command and argument passed to
andes within the container.
As is seen in the example, commands and arguments are passed to the container in the same way as to a local andes. For example, to enable verbose logging, run
docker run -v /Users/hcui7/notebooks:/andes cuihantao/andes -v 10 run kundur_full.xlsx
The output files will be written to the source folder in your local machine. In my example, outputs are saved to
Prepare and Config
The latest Andes docker image contains pre-generated numerical calls stored in
/home/cui/.andes/calls.pkl. One does not need to wait for code generation.
To use a custom Config file, place the
andes.rc in the folder that you are mounting. To check which config file is being used, turn on debugging messages with
andes -v 10.
Make an alias - the easiest way
One might want to use a shorter command to run Andes from docker. The solution in Bash (or zsh, or others) is to create an alias command.
alias andesd='docker run -v `pwd`:/andes cuihantao/andes:latest'
Run the above command to create an alias called
andesd that automatically mounts the current folder.
One can add this command to the shell profile (
~/.bashrc or others) to create the alias automatically upon login.
Once completed, using Andes from docker is as simple as that from the host - simply replace
andesd run kundur_full.xlsx
kundur_full.xlsx should exist in the current host folder. Note that Andes will search for the
andes.rc config file in the sequence of 1) current folder, and 2) the default one in the container at