gpt4 book ai didi

docker - 使用docker buildkit的go客户端,如何添加入口点?

转载 作者:行者123 更新时间:2023-12-02 21:05:11 28 4
gpt4 key购买 nike

出于对构建的精确控制的原因,我们直接使用新的buildkit(moby / buildkit)。因此没有Dockerfile。

我们正在创建一个类似于以下示例的脚本:https://github.com/moby/buildkit/blob/master/examples/buildkit0/buildkit.go

虽然有效(出色),但缺少文档。

如何添加入口点? (即要运行的默认命令)



如何设置容器启动时的默认工作目录?



如何设置要公开的端口?

最佳答案

BuildKit中的LLB层不处理图像。它是生成结果的一个特定导出器。如果使用像Dockerfile这样的前端,它将为导出程序准备镜像配置,并调用LLB构建。如果直接使用LLB,则还需要自己创建一个图像配置。如果您使用buildctl,则外观类似于buildctl build --output 'type=docker,name=test,"containerimage.config={""Config"":{""Cmd"":[""bash""]}}"'
在Go API中,您可以使用ExportEntry https://godoc.org/github.com/moby/buildkit/client#ExportEntry属性来传递它。图像格式记录在https://github.com/moby/moby/blob/master/image/spec/v1.2.md上。

请注意,您无需在图像配置中填写RootFS。 BuildKit会自动填写。更多背景信息https://github.com/moby/buildkit/issues/1041

关于docker - 使用docker buildkit的go客户端,如何添加入口点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58508711/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com