Running Docker
Mesh Hypervisor nodes can run Docker containers bare-metal—great for lightweight services like a web server or app. This guide shows how to enable Docker on a remote node and spin up a test container. Commands run via SSH to the central orchestration node’s CLI (e.g., ssh root@<central-ip>). For node setup, see Configuring Nodes.
Prerequisites
Ensure:
- A remote node is online (
mesh node info). - You’ve got a machine folder (e.g.,
/host0/machines/docker-node/). - The
dockergroup exists in/host0/groups/docker/—it’s prebuilt with Docker tools.
Step 1: Enable Docker
- Add Docker Group: In
/host0/machines/docker-node/groups:baseline dockerbaselinesets essentials;dockerinstalls Docker and tweaks services.
- Set UUID: In
/host0/machines/docker-node/UUID, use the node’s UUID (e.g.,10eff964) frommesh node info. - Apply: Update the mirror, rebuild, and reboot:
mesh system download mesh system configure mesh node ctl -n 10eff964 "reboot"mesh system downloadgrabsdockerpackages;dockergroup adds them to/etc/apk/world.
Step 2: Run a Test Container
- SSH In: Connect to the node:
mesh node ctl -n 10eff964 - Verify Docker: Check it’s running:
docker version- Should show Docker client and server versions—services auto-start via the group.
- Pull an Image: Grab a simple container:
docker pull hello-world- Downloads the
hello-worldimage from Docker Hub.
- Downloads the
- Run It: Start the container:
docker run hello-world- Prints a “Hello from Docker!” message and exits—proof it works.
- Exit Node: Back to the central node:
Ctrl+D
Notes
The docker group handles everything: installs docker, docker-openrc, etc., links services to /etc/runlevels/default/, and sets rc_cgroup_mode=unified in /etc/rc.conf for cgroups. No manual CLI tweaks needed—just add the group and go. For persistent containers, add a manifest entry (e.g., O MODE=root:root:0644 SRC=/host0/machines/docker-node/run.sh TGT=/usr/local/bin/run.sh) and script your docker run. See Managing Nodes for CLI tips; Configuring Nodes for group details.
Next, explore Configuring Samba.