Docker Container#
This page documents information needed by developers for working with the IDAES docker container.
As is expected by Docker, the main file for creating the Docker image is the “Dockerfile” in the top-level directory.
docker-idaes script#
You can build new Docker images using the create
option to the
docker-idaes script. For example:
./docker-idaes create
You need to have the IDAES installation activated. The script will automatically
find the current version and attempt to build a Docker image with the same version.
If it detects an existing image, it will skip the image build. Next, the script will
try to use docker save
to save the image as a compressed archive. This will
also be skipped if an existing image file, with the same version as the “idaes”
Python package, is detected.
Pushing an image to S3#
The Docker images are stored on Amazon S3. Before you can upload a new image, you need to be part of the “IDAES-admin” group that is part of Amazon’s IAM (Identity Access Management) system. Please contact one of the core developers to learn how to join this IAM group.
Once you have the IAM keys, you need to create a file ~/.aws/credentials
that has the access key id and key from the IAM account. It will look like this:
[default]
aws_access_key_id = IDGOESHERE
aws_secret_access_key = accesskeygoeshere
The values for the ID and Access key are available from the AWS “IAM” service console.
Next you need to use the AWS command-line tools to copy the local image up to Amazon S3. For example, if the image was version “1.0.1”, you would use the following command:
aws s3 cp idaes-pse-docker-1.0.1.tgz \
s3://idaes/idaes-pse/idaes-pse-docker-1.0.1.tgz
If the new image should be the latest, you also need to do an S3 -> S3 copy to create a new latest image:
aws s3 cp s3://idaes/idaes-pse/idaes-pse-docker-1.0.1.tgz \
s3://idaes/idaes-pse/idaes-pse-docker-latest.tgz