Skip to content

Instantly share code, notes, and snippets.

@sheurich
Created December 8, 2022 19:13
Show Gist options
  • Save sheurich/37c63a103ba6e9c745f68780e6020758 to your computer and use it in GitHub Desktop.
Save sheurich/37c63a103ba6e9c745f68780e6020758 to your computer and use it in GitHub Desktop.
arch: default
containerd:
system: false
user: false
cpus: 4
disk: 64GiB
hostResolver:
hosts:
host.docker.internal: host.lima.internal
images:
- arch: x86_64
location: https://cloud-images.ubuntu.com/releases/22.04/release/ubuntu-22.04-server-cloudimg-amd64.img
- arch: aarch64
location: https://cloud-images.ubuntu.com/releases/22.04/release/ubuntu-22.04-server-cloudimg-arm64.img
memory: 8GiB
message: |
To run `docker` on the host (assumes docker-cli is installed), run the following commands:
------
docker context create lima-{{.Name}} --docker "host=unix://{{.Dir}}/sock/docker.sock"
docker context use lima-{{.Name}}
docker run hello-world
------
mountType: virtiofs
mounts:
- location: "~"
mountPoint: null
writable: true
- location: /tmp/lima
writable: true
networks:
- vzNAT: true
portForwards:
- guestSocket: /run/user/{{.UID}}/docker.sock
hostSocket: '{{.Dir}}/sock/docker.sock'
probes:
- hint: See "/var/log/cloud-init-output.log". in the guest
script: |
#!/bin/bash
set -eux -o pipefail
if ! timeout 30s bash -c "until command -v docker >/dev/null 2>&1; do sleep 3; done"; then
echo >&2 "docker is not installed yet"
exit 1
fi
if ! timeout 30s bash -c "until pgrep rootlesskit; do sleep 3; done"; then
echo >&2 "rootlesskit (used by rootless docker) is not running"
exit 1
fi
provision:
- mode: system
script: |
#!/bin/bash
set -eux -o pipefail
command -v docker >/dev/null 2>&1 && exit 0
export DEBIAN_FRONTEND=noninteractive
curl -fsSL https://get.docker.com | sh
# NOTE: you may remove the lines below, if you prefer to use rootful docker, not rootless
systemctl disable --now docker
apt-get install -y uidmap dbus-user-session
- mode: user
script: |
#!/bin/bash
set -eux -o pipefail
systemctl --user start dbus
dockerd-rootless-setuptool.sh install
docker context use rootless
rosetta:
binfmt: true
enabled: true
vmType: vz
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment