Skip to content

Docker Containers

H. Joe Lee edited this page Mar 3, 2023 · 19 revisions

Quick Start Guide

docker pull hdfgroup/hermes
docker run -it hdfgroup/hermes
hermes@6bcfd7679b0a:~$ stage_in
Usage: mpirun -n [nprocs] ./stage_in [url] [offset] [size] [dpe]

CAUTION: The image from DockerHub may throw Illegal Instruction for Spack-installed binaries. See #483.

Dockerfiles

There are four Dockerfiles at the top level of the Hermes repository. Three Docker images built from these Dockerfiles are available on Docker Hub:

Running one of these docker containers usually involves mounting volumes or directories of the host system in the docker container via the -v option of the docker run command, for example:

docker run --rm -it -v <host mount point1>:<container mount point1> \
                    -v <host mount point2>:<container mount point2> \
                    ... \
           --entrypoint bash <container image ID>

Developers: Do a git pull and update the Git remotes if you want to keep your changes!

For Emacs Users

Emacs

Editing files in a running container in Emacs (running on a host) is rather convenient with Tramp and docker-tramp.el. For example:

C-x C-f /docker:user@container:/path/to/file

where
  user           is the user that you want to use inside the container (optional)
  container      is the id or name of the container

Multiple hops are supported as well.

Clone this wiki locally