Introduction
- A virtual machine is a separate computer that runs with its own operating system and applications inside of a host operating system.
- Containers are like lightweight virtual machines with some subtle but consequential differences.
- Containers and virtual machines can address many of the same use cases.
- Both virtual machines and containers are commonly used in academic research but containers are more popular.
Virtual machines using VirtualBox
- Use
.md
files for episodes when you want static content - Use
.Rmd
files for episodes when you need to generate output - Run
sandpaper::check_lesson()
to identify any issues with your lesson - Run
sandpaper::build_lesson()
to preview your lesson locally
Basics of Containers with Docker
- Containers are a way to provide a consistent environment for reproducible work.
- Use
docker pull
to copy an image to your machine - Use
docker start
to start running a container - Use
docker ps
to check the status of running containers - Use
docker stop
to stop running a container
Creating Containers with Docker
- Dockerfiles include instructions for creating a Docker image
- The
FROM
command in a Dockerfile indicates the base image to build on - The
CMD
command in a Dockerfile includes commands to execute when a container starts running - The
COPY
command in a Dockerfile copies files from your local machine to the Docker image so they are available for use when the container is running