diff --git a/Docker-app-implementation.md b/Docker-app-implementation.md index 9f520ee..32f9e81 100644 --- a/Docker-app-implementation.md +++ b/Docker-app-implementation.md @@ -1,13 +1,13 @@ ## Docker and Podman -Docker and Podman provide mostly similar capabilities: +Docker and Podman provide similar capabilities: they can build images from Dockerfiles, and run containers, through a CLI interface. -They differ in their architecture: +They differ in architecture: -* Docker uses a daemon, which runs as root. -The CLI program is typically run by a non-root user, and communicates -with the daemon over a pipe. +* Docker uses a daemon, which typically runs as root. +The CLI program is typically run by a non-root user, +and communicates with the daemon over a pipe. * Podman doesn't use a daemon. The CLI program works directly. @@ -20,10 +20,15 @@ you have to run the CLI program as root. ### Unix -Docker must be installed -and configured so that the engine is always running. +Docker must be installed and configured so that +* the service is always running. +* the user under which the BOINC client runs +can run the DOCKER CLI programs. +There are various ways to do this: see +https://docs.docker.com/engine/install/ubuntu/ + We can't use Podman on Unix because the BOINC client -can't run apps as root. +can't run apps as root (see above). ### Windows @@ -31,9 +36,24 @@ WSL and Hyper-V must be enabled. There must be either * A WSL distro with Podman installed. -* A WSL distro with Docker installed and configured to always run. +To do this, you can install a recent Linux distro (e.g. Ubuntu 22.04) +from the Windows store, +and install Podman on it: +``` +sudo apt update +sudo apt -y install podman +``` +Our plan is to create a WSL with Podman installed, +put it on the Windows store, recommend that to volunteers. -If both are present, a WSL with Podman is used. +* A WSL distro with Docker installed and configured to always run. +It suffices to install Docker Desktop. + +If both are present, a WSL distro with Podman is used. + +We prefer Podman over Docker on Windows because it's simpler +(for us and for volunteers who want to do it themselves) +to install Podman. ## Running a job