docker-baseimage
base 镜像(fat container 类似 PouchContainer):
- 使用 s6 进程管理工具。使用 skaware 容器化静态编译 s6
- 使用 sshd(安全风险)
- rootless 运行(javaagent 写权限/nfs 写权限)
java 镜像:
- 支持 jvm-sandbox 插件,通过环境变量启动
Caveats
- 不推荐使用 alpine linux 作为基础镜像,musl libc 有许多问题存在。
- 使用 static binaries。例如:
ffmpeg
- APT 安装添加
--no-install-recommends
减少镜像大小
Todo
- ~使用
rootfs
目录命名~
- 使用 action matrix 编译 s6(multi job)
Inspecting
dive 131f24102f9ebc5fb2e4b024f97 --source=docker
s6
s6-supervise
会保持 run
长期运行(自动重启)。
Reference