一个简单的cli“所有东西都有多个拱门”
kross的Python项目详细描述
克朗
一个简单的cli“多架构所有东西”
什么是克罗斯?
kross是一个工具,它可以自动为多个架构构建docker映像,而无需对代码进行任何更改
快速启动
- 通过PIP安装
pip install kross
- 初始化(一次)
kross init
- 更新Docker生成命令
Before
docker build -t me/myapp:vX.X.X ...args... path/to/docker/context
docker push me/myapp:vX.X.X
After
kross build -t me/myapp:vX.X.X ...args... path/to/docker/context
kross push me/myapp:vX.X.X
为什么是克罗斯?
克罗斯出生于一个树莓派百香酸开发商。
因为Raspberry PI是基于ARM的,DockerHub上90%的图像是基于AMD64的,所以开发人员必须复制/调整所有DockerFile,这样图像才能在上面工作,避免太多流行的cannot execute binary file: Exec format error
。
要了解更多信息,请阅读full article。
克罗斯怎么样了?
kross基于qemu library在基于amd64的主机上构建多个架构映像。 在所有的图片都被构建并推送到Docker注册表之后,也会推一个manifest list,这样用户就可以无缝地根据他们的架构拉图片了。
支持的体系结构
kross将尝试为以下架构构建映像:
- AMD64
- ARM32V6
- ARM32V7
- ARM64V8
- ppc64le
- S390x
- i386
运行示例
安装kross
pip install kross
检查计算机配置
kross init
运行kross构建
kross build -t kross-world:v0.1.0 https://raw.githubusercontent.com/pcorbel/kross/master/docs/example/Dockerfile
运行kross push
kross push kross-world:v0.1.0
检查Dockerhub account上的图像可用性
在任何地方运行图像
docker run --rm kross-world:v0.1.0
提供示例图像here
提示和技巧
知道克罗斯工作时发生了什么
export KROSS_VERBOSE=true