Docker
安装
docker 软件包位于 community 仓库中。请参阅 仓库 了解如何添加仓库。
apk add docker
以 root 身份运行 Docker
要使 Docker 守护进程在启动时运行,请参阅 OpenRC。
rc-update add docker default service docker start
要通过其套接字连接到 Docker 守护进程,您需要将自己添加到 docker
用户组。
addgroup ${USER} docker

Rootless Docker
Rootless Docker 允许非特权用户在用户命名空间中运行 docker 守护进程和 docker 容器。这与下面部分中解释的 dockremap 不同。使用 dockremap,守护进程仍然以 root 身份运行。
这需要 docker-rootless-extras 软件包(在 community 仓库中可用)并启用 cgroups v2
:编辑 /etc/rc.conf
并设置 rc_cgroup_mode="unified"
。然后在启动时启动服务
rc-update add cgroups
此外,需要按照 官方文档 中的说明设置 /etc/subuid
和 /etc/subgid
文件。
Docker Compose
docker-cli-compose 软件包从 Alpine Linux 3.15 开始位于 community 仓库中。
apk add docker-cli-compose
使用用户命名空间隔离容器
adduser -SDHs /sbin/nologin dockremap addgroup -S dockremap echo dockremap:$(cat /etc/passwd|grep dockremap|cut -d: -f3):65536 >> /etc/subuid echo dockremap:$(cat /etc/passwd|grep dockremap|cut -d: -f4):65536 >> /etc/subgid
添加到 /etc/docker/daemon.json
{ "userns-remap": "dockremap" }
您也可以考虑以下选项
"experimental": false, "live-restore": true, "ipv6": false, "icc": false, "no-new-privileges": false
您可以在这里找到所有可能的配置。
“警告:不支持 {swap,memory} 限制”
当执行 docker info
时,您可能会遇到此消息。要纠正这种情况,我们必须启用 cgroup_enable=memory swapaccount=1
Grub
如果您使用 Grub,请将 cgroup 条件添加到 /etc/default/grub
中,然后升级您的 grub
GRUB_CMDLINE_LINUX_DEFAULT="... cgroup_enable=memory swapaccount=1"
Extlinux
对于 Extlinux,您需要添加 cgroup 条件,但在 /etc/update-extlinux.conf
内部
default_kernel_opts="... cgroup_enable=memory swapaccount=1"
然后更新配置并重启
update-extlinux
如何使用 Docker
请查看 官方文档 以了解有关 Docker 常规用法的详细信息,包括容器的创建和管理。在此处重复这些说明是多余的。
可以在 Docker Hub 上浏览公共镜像。这些也应该作为 Dockerfile 格式的进一步参考。
官方 Docker 镜像文件在网站上用特殊徽章表示。