Docker 包位于“社区”存储库中,因此如果 apk 添加失败且具有不可满足的约束,则需要编辑/etc/apk/repositories
文件以添加(或取消注释)一行,
如:http://dl-cdn.alpinelinux.org/alpine/latest-stable/community
更新索引存储库
apk update
开始安装
apk add docker
要在引导时启动 Docker 守护程序,请运行:
rc-update add docker boot
执行结果参考:
AlpineLinux:~# rc-update add docker boot
* service docker added to runlevel boot
然后手动启动 Docker 守护程序,运行:
service docker start
service docker start
docker run hello-word
apk add docker-compose
上面安装完 docker 之后,使用命令docker -v
可查看版本,但是容器相关命令出错
localhost:~# docker ps
Cannot connect to the Docker daemon at unix:///var/rundocker.sock. Is the docker daemon running?
通过命令service docker start
也启动 docker,`/var/run/docker.sock 也确实存在。
折腾一番之后,查看日志cat ./var/log/docker.log
,得到关键信息Error starting daemon: Devices cgroup isn't mounted
。
cat ./var/log/docker.log
最后看了官方文档得以解决,https://wiki.alpinelinux.org/wiki/Docker
关键点还是cgroup filesystem
的问题,cgroup
是什么请自行查询
localhost:/etc/docker# rc-update add docker boot
* service docker added to runlevel boot
localhost:/etc/docker# service docker start
* Mounting cgroup filesystem ...
* Starting docker ...
所以整个问题的根源是cgroup filesystem
没有挂载,在执行rc-update add docker boot
后在启动就好了
https://www.leftso.com/article/905.html