Podman
安装
Podman 可以通过社区仓库中的 podman 软件包安装。
# apk add podman
以 root 用户身份运行
要运行 podman,您需要启用 cgroups
服务,考虑启用 cgroups v2。
# rc-update add cgroups
# rc-service cgroups start
您可能需要重启您的机器才能使其正常工作。
如果您在 Btrfs 之上运行,请考虑将存储驱动程序设置为 btrfs
$ cat /etc/containers/storage.conf
driver = "btrfs"
如果您在容器内运行,请将存储驱动程序更改为 vfs
以无 root 模式运行
为了无 root 支持 (将 <USER> 替换为您的用户名)
# modprobe tun # echo tun >>/etc/modules # echo <USER>:100000:65536 >/etc/subuid # echo <USER>:100000:65536 >/etc/subgid
运行一个示例容器以验证一切正常
$ podman run --rm hello-world
Linux 上的容器可能需要以与内核默认的 'private' 不同的传播方式挂载文件系统。如果您看到警告
- WARN[0000] "/" 不是共享挂载,这可能会导致无 root 容器出现问题或挂载丢失
您可能需要临时修复此问题,对于当前运行的系统
# mount --make-rshared /
并再次尝试导致警告的命令。
或者,您可以使用以下命令
# findmnt -o PROPAGATION /
这应该打印
PROPAGATION shared
为了永久修复 (在 OpenRC PR#526 发布后 - 在比 0.54.2-r1 更新的版本中),编辑 /etc/fstab
# $EDITOR /etc/fstab
将 shared
选项添加到根分区
/dev/sda2 / ext4 rw,relatime,shared 0 1
并在重启后像上面一样测试它。
Docker Compose
Podman 提供了 docker compose 的直接替代品。 podman-compose 软件包提供了这个功能。
每次使用 docker compose 时,都会有警告提醒您这正在使用底层的 podman。可以通过运行以下命令永久消除此警告
# touch /etc/containers/nodocker