Build script for building https://github.com/containers/podman
-
conmon
-
crun
-
netavark
-
catatonit
Installed files for podman-full
, excluding documentation:
Build script adapted from https://github.com/containerd/nerdctl
-
containerd
-
runc
-
cni-plugins
-
tini
Installed files for nerdctl-full
, excluding documentation:
The default make
target will build an image, and export it.
You can set which engine to use, with the DOCKER
variable.
Normally in lima, the archive is just extracted on the lima:
sudo tar Cxzf /usr/local nerdctl-full.tgz
Some dependencies are required, with sudo apt install
.
You are required to add a /etc/containers/registries.conf
.
Error: [...] no containers-registries.conf(5) was found
As well as /etc/containers/policy.json
configuration file.
Error: open /etc/containers/policy.json: no such file or directory
You might also want to add a shortnames.conf
configuration:
/etc/containers/registries.conf.d/000-shortnames.conf
Otherwise you will get an interactive question, such as:
? Please select an image:
▸ docker.io/library/alpine:latest
quay.io/alpine:latest
Need to make sure to have newuidmap
and a dbus session.
exec: "newuidmap": executable file not found in $PATH
WARN[0000] The cgroupv2 manager is set to systemd
but there is no systemd user session available
WARN[0000] Falling back to --cgroup-manager=cgroupfs
They are available as packages, but needs to be started.
sudo apt-get install -y uidmap dbus-user-session
systemctl --user enable --now dbus
Need to install iptables
, for network namespaces.
sudo apt-get install -y iptables
Template based on debian
:
Assuming that lima is installed, and archive is built:
mkdir -p /tmp/lima
cp policy.json registries.conf podman-full-4.9.3-linux-amd64.tar.gz /tmp/lima
limactl start ./lima.yaml
export LIMA_INSTANCE=lima
lima sudo mkdir /etc/containers
lima sudo cp /tmp/lima/policy.json /tmp/lima/registries.conf /etc/containers
lima sudo tar Cxzf /usr/local /tmp/lima/podman-full-4.9.3-linux-amd64.tar.gz
lima systemctl --user enable --now podman.socket
After that, you can add forwarding of the podman.sock
:
portForwards:
- guestSocket: "/run/user/{{.UID}}/podman/podman.sock"
hostSocket: "{{.Dir}}/sock/podman.sock"
And run podman remotely:
podman.lima version
You can also run it locally:
lima podman version