docker

David Anderson 2024-10-27 12:23:33 -07:00
parent abe2fccda4
commit 638a0a1b7a
1 changed files with 30 additions and 10 deletions

@ -1,13 +1,13 @@
## Docker and Podman ## 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, they can build images from Dockerfiles, and run containers,
through a CLI interface. through a CLI interface.
They differ in their architecture: They differ in architecture:
* Docker uses a daemon, which runs as root. * Docker uses a daemon, which typically runs as root.
The CLI program is typically run by a non-root user, and communicates The CLI program is typically run by a non-root user,
with the daemon over a pipe. and communicates with the daemon over a pipe.
* Podman doesn't use a daemon. * Podman doesn't use a daemon.
The CLI program works directly. The CLI program works directly.
@ -20,10 +20,15 @@ you have to run the CLI program as root.
### Unix ### Unix
Docker must be installed Docker must be installed and configured so that
and configured so that the engine is always running. * 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 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 ### Windows
@ -31,9 +36,24 @@ WSL and Hyper-V must be enabled.
There must be either There must be either
* A WSL distro with Podman installed. * 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 ## Running a job