Skip to content

CoolProp/Dockerfiles

Repository files navigation

Build Status

CoolProp Docker images

Welcome to CoolProp/Dockerfiles - a repository that provides Docker images preconfigured to build and use the CoolProp fluid property database.

Structure of the Repository

Most of the images used to build CoolProp employ Debian's stable branch as their base image. Have a look at the debian subdirectory to see how these images are created from the original realeses for 64bit and 32bit containers. The binaries are uploaded to the coolprop/debian and the coolprop/debian32 repositories on Docker Hub.

Based on the bare Debian images, the coolprop/basesystem and coolprop/basesystem32 containers are built. These images contain the basic infrastructure required to compile CoolProp, which can be summarised to the GCC suite, version control systems and a slim Python installation.

To build wheels for all supported Python versions, you should use coolprop/manylinux, which is based on quay.io/pypa/manylinux1_x86_64.

Note that all images are built and deployed automatically by TravisCI as soon as new commits are pushed to this Git repository, no further interaction should be required.

Size Restrictions

If you run into disk space problems in a virtual docker machine (Windows or OSX), you can use

docker-machine stop default
cd .docker/machine/machines/default/
VBoxManage clonehd disk.vmdk disk-temp.vdi --format vdi
VBoxManage modifymedium disk disk-temp.vdi --resize 51200 # 1024MB/GB*50GB
VBoxManage clonehd disk-temp.vdi disk-resized.vmdk --format vmdk
mv disk.vmdk disk.vmdk.old
mv disk-resized.vmdk disk.vmdk
docker-machine start default

if all went well, you can remove the old disks with rm disk.vmdk.old disk-temp.vdi. You might have to add the VirtualBox folder to your path. On Windows, this is typically C:\Program Files\Oracle\VirtualBox and you add it by running set PATH=%PATH%;C:\Program Files\Oracle\VirtualBox.

Installing Proprietary Software

The prerequisites to build the open-source wrappers are all combined in the coolprop/slaveopen image. The slavefull folder contains files and instructions to build an image including the proprietary software like MATLAB and alike. These images have to be built locally since the contain software that requires specific licenses. You can also install the software after the image has been launched for the first time using the docker exec -it commands.

DNS problems

If you run into DNS issues like Could not resolve 'httpredir.debian.org', here, you can uncomment the line DOCKER_OPTS="--dns 8.8.8.8 --dns 8.8.4.4" in /etc/default/docker. If you still have problems after that, you might want to add your local nameserver to the configuration file and do not forget to restart docker with sudo /etc/init.d/docker restart.

Additional Information

You can find more information in the developer section of the CoolProp homepage. The Dockerfiles in this repository should be self-explanatory. Please note the files are generated by a makefile and should not be edited manually, look at the template files called Dockerfile.in instead.