Docker¶
Run, find, build, and share Docker containers, from the command line to automated builds and multi-container applications.
- Introduction to Docker - Run, inspect, and clean up Docker containers from the command line, mount data with volumes, and expose ports for browser-based IDEs.
- Finding the right container - Container terminology and the public registries (Docker Hub, Quay.io, BioContainers, NVIDIA NGC) to search before building your own image.
- Building Docker images - Write a Dockerfile instruction by instruction (FROM, RUN, ENV, COPY, CMD, ENTRYPOINT, USER, EXPOSE), including multi-stage builds.
- Advanced Docker: volumes and bind mounts - Create, inspect, and populate Docker volumes, and use read-write and read-only bind mounts to share host data with containers.
- GitHub Actions and Docker - Build and push Docker images to Docker Hub automatically with a GitHub Actions workflow and repository secrets.
- Multi-container applications with Docker Compose - Define and run Jupyter and RStudio together from one Compose file, manage the stack with docker compose, and deploy WebODM.