Skip to content

Reference

Philip Maechling edited this page Jul 26, 2022 · 13 revisions

Current UCVM Docker Images

  1. sceccode/ucvm_227_cencal:0710 (24.2GB)
  2. sceccode/ucvm_227_wfcvm:0710 (6.3GB)
  3. sceccode/ucvm_227_albacore:0710 (6.13GB)
  4. sceccode/ucvm_227_cca:0710 (19.5GB)
  5. sceccode/ucvm_227_cvlsu:0710 (6.13GB)
  6. sceccode/ucvm_227_ivlsu:0710 (6.13GB)
  7. sceccode/ucvm_227_cvms:0710 (6.95GB)
  8. sceccode/ucvm_227_cvmh:0710 (9.88GB)
  9. sceccode/ucvm_227_cvmsi:0710 (10.4GB)
  10. sceccode/ucvm_227_cvms5:0710 (9.49G)

Running a UCVM Docker Image

The containerized version of UCVM assumes that the user will use a <current_directory>/target directory as the directory shared that is with the container.

Then:

  1. Select a directory where they want to run ucvm_docker
  2. Create a subdirectory called "target". (e.g. mkdir target)
  3. Start the docker client on the user computer.
  4. Log into dockerhub so their docker client has permisson to downloads images from there
  5. Run the docker image, and mount the shared "target" subdirectory, with this command:
 docker run --rm -it --mount type=bind,source="$(pwd)"/target,destination=/app/target  sceccode/ucvm_1210_cvms5:11071611

If the image is not on the users computer, docker will retrieve it from docker hub and run it on the user computer. Once started, the terminal window where this command was issued, will change to a linux command line, and ucvm program will be installed in the resulting linux environment.

More details provided in the ucvm_docker how-to section of this wiki.

Contents of Repo

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_227

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. This image does include the UCVM 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.

Docker Client Software

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

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 .

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