Skip to content

Reference

Philip Maechling edited this page Nov 7, 2021 · 13 revisions

Contents of Repo - UCVM Docker Versions

Each subdirectory in this UCVM repo contains a slightly different dockerized version of UCVM. As a result, the Dockerfiles used to construct the images are somewhat different. We recommend using only the most recent Docker images, created using scripts in ucvm_v21_10

ucvm_v21_10

This is the most recent version of ucvm. It includes the base ucvm, plus one model per image. These images have been pushed to dockerhub and they are the preferred dockerized version. They do not include the python plotting libraries.

miniucvm

This was the first containerized version of UCVM created by the group. It showed proof of concept and a working Dockerfile

py3ucvm

This is the python3 version of ucvm in a docker container.

Current UCVM Docker Images on Dockerhub

  1. sceccode/ucvm_1210_cencal:09131731 (9.04GB)
  2. sceccode/ucvm_1210_wfcvm:09131731 (6.44GB)
  3. sceccode/ucvm_1210_albacore:09131731 (6.27GB)
  4. sceccode/ucvm_1210_cca:09131731 (19.7GB)
  5. sceccode/ucvm_1210_cvlsu:09131731 (6.27GB)
  6. sceccode/ucvm_1210_ivlsu:09131731 (6.27GB)
  7. sceccode/ucvm_1210_cvms:09131731 (6.27GB)
  8. sceccode/ucvm_1210_cvmh:09131731 (9.94GB)
  9. sceccode/ucvm_1210_cvmsi:09131731 (7.32GB)
  10. sceccode/ucvm_1210_cvms5:09131731 (9.63G)

Docker Client Software - Download

Docker is an open-source platform to build, ship, and run applications, whether on laptops, data center virtual machines, or the cloud with OS-level virtualization.

Basic Docker Commands for this project

Look at the README.md in this project under miniucvm, and testucvm for a set of docker commands.

manipulate the container

 docker --help
 docker container

Inspect ENV set in image

# first, get the images on your system and their ids
docker images
# use one of those ids to take a closer look
docker inspect image-id
# look out for the "Env" entries

Basic Docker Commands

* This lists images and containers that will be removed with the command above
  docker ps -a
* This command builds a docker image and tages
  docker build --rm -t ucvm:06291139 .
  docker run -it ucvm:06291139

Kill all running container and Delete ALL images

 docker system prune
 docker system prune -a -f --volumes
 docker kill $(docker ps -q)
 docker rm $(docker ps -a -q)
 docker rm -f $(docker ps -a -q)
 docker rmi $(docker images -q)

Delete all 'untagged/dangling' () images

 docker rmi $(docker images -q -f dangling=true)
 docker rmi $(docker images -f dangling=true -q )
 docker rmi $(docker images -f dangling=true -q ) -f

Standard Build command - Avoid use of cached

docker build --no-cache=true -t ucvm_cvmh:Thur1738 .

Standard Invocation of UCVM Image into Docker Container.

The containerized version of ucvm assumes that the user will use a current_directory/target directory as the directory shared with the container. docker run --rm -it --mount type=bind,source="$(pwd)"/target,destination=/app/target ucvm_1210_cvms5:09131139

Git clone used to minimize number of files retrieved

git clone --depth 1 --branch <tag_name> <repo_url> --depth 1 is optional but if you only need the state at that one revision, you probably want to skip downloading all the history up to that revision.

Docker Client Configuration

On the Mac Docker client, there is a dashboard.

To build the bbp image, we ran out of memory during docker build. To minimize, we modified the setup_inputs.txt to select only the southern California region (and acceptance tests).

We also raised the max image size to 200Gb. The resutling image, after first successful build was about 60GB.

Clone this wiki locally