Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
lima-vm
GitHub Repository: lima-vm/lima
Path: blob/master/templates/podman-rootful.yaml
2621 views
1
# A template to use Podman instead of containerd & nerdctl
2
# $ limactl start ./podman-rootful.yaml
3
# $ limactl shell podman-rootful sudo podman run -it -v $HOME:$HOME --rm docker.io/library/alpine
4
5
# To run `podman` on the host (assumes podman-remote is installed):
6
# $ export CONTAINER_HOST=$(limactl list podman-rootful --format 'unix://{{.Dir}}/sock/podman.sock')
7
# $ podman --remote ...
8
9
# To run `docker` on the host (assumes docker-cli is installed):
10
# $ export DOCKER_HOST=$(limactl list podman-rootful --format 'unix://{{.Dir}}/sock/podman.sock')
11
# $ docker ...
12
13
minimumLimaVersion: 2.0.0
14
15
base:
16
- template:_images/fedora
17
- template:_default/mounts
18
19
containerd:
20
system: false
21
user: false
22
provision:
23
- mode: system
24
script: |
25
#!/bin/bash
26
set -eux -o pipefail
27
command -v podman >/dev/null 2>&1 && test -e /etc/lima-podman && exit 0
28
if [ ! -e /etc/systemd/system/podman.socket.d/override.conf ]; then
29
mkdir -p /etc/systemd/system/podman.socket.d
30
cat <<-EOF >/etc/systemd/system/podman.socket.d/override.conf
31
[Socket]
32
SocketUser={{.User}}
33
EOF
34
fi
35
if [ ! -e /etc/tmpfiles.d/podman.conf ]; then
36
mkdir -p /etc/tmpfiles.d
37
echo "d /run/podman 0700 {{.User}} -" > /etc/tmpfiles.d/podman.conf
38
fi
39
dnf -y install --best podman && touch /etc/lima-podman
40
- mode: system
41
script: |
42
#!/bin/bash
43
set -eux -o pipefail
44
systemctl --system enable --now podman.socket
45
probes:
46
- script: |
47
#!/bin/bash
48
set -eux -o pipefail
49
if ! timeout 30s bash -c "until command -v podman >/dev/null 2>&1; do sleep 3; done"; then
50
echo >&2 "podman is not installed yet"
51
exit 1
52
fi
53
hint: See "/var/log/cloud-init-output.log" in the guest
54
portForwards:
55
- guestSocket: "/run/podman/podman.sock"
56
hostSocket: "{{.Dir}}/sock/podman.sock"
57
message: |
58
To run `podman` on the host (assumes podman-remote is installed), run the following commands:
59
------
60
podman system connection add lima-{{.Name}} "unix://{{.Dir}}/sock/podman.sock"
61
podman system connection default lima-{{.Name}}
62
podman{{if eq .HostOS "linux"}} --remote{{end}} run quay.io/podman/hello
63
------
64
65