# Docker

Run, find, build, and share Docker containers, from the command line to automated builds and multi-container applications.

* [Introduction to Docker](https://unm-carc.github.io/container-camp/docker/intro/) - 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](https://unm-carc.github.io/container-camp/docker/registry/) - Container terminology and the public registries (Docker Hub, Quay.io, BioContainers, NVIDIA NGC) to search before building your own image.
* [Building Docker images](https://unm-carc.github.io/container-camp/docker/build/) - Write a Dockerfile instruction by instruction (FROM, RUN, ENV, COPY, CMD, ENTRYPOINT, USER, EXPOSE), including multi-stage builds.
* [Advanced Docker: volumes and bind mounts](https://unm-carc.github.io/container-camp/docker/advanced/) - 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](https://unm-carc.github.io/container-camp/docker/actions/) - Build and push Docker images to Docker Hub automatically with a GitHub Actions workflow and repository secrets.
* [Multi-container applications with Docker Compose](https://unm-carc.github.io/container-camp/docker/compose/) - Define and run Jupyter and RStudio together from one Compose file, manage the stack with docker compose, and deploy WebODM.
