Earthly 容器镜像构建工具 —— 筑梦之路
2023-09-14 09:09:35 时间
Makefile + Dockerfile = Earthfile
在使用 Earthly 进行构建镜像时目前强依赖于 buildkit,Earthly 通过 buildkit 支持了一些 Dockerfile 的扩展语法,同时将 Dockerfile 与 Makefile 整合,使得多平台构建和代码化 Dockerfile 变得更加简单;使用 Earthly 可以更加方便的完成 Dockerfile 的代码复用以及更加友好的 CI 自动集成。
# 安装
sudo /bin/sh -c 'wget https://github.com/earthly/earthly/releases/latest/download/earthly-linux-amd64 -O /usr/local/bin/earthly && chmod +x /usr/local/bin/earthly && /usr/local/bin/earthly bootstrap --with-autocomplete'
安装完成后 Earthly 将会启动一个 buildkitd 容器: earthly-buildkitd
# 示例
cat main.go
package main
import "fmt"
func main() {
fmt.Println("hello world")
}
cat Earthlyfile
FROM golang:1.17-alpine
WORKDIR /go-example
build:
COPY main.go .
RUN go build -o build/go-example main.go
SAVE ARTIFACT build/go-example /go-example AS LOCAL build/go-example
docker:
COPY +build/go-example .
ENTRYPOINT ["/go-example/go-example"]
SAVE IMAGE go-example:latest
# 目录结构
~/t/earthlytest ❯❯❯ tree
.
├── Earthfile
└── main.go
0 directories, 2 files
# 通过 earthly 进行构建
~/t/earthlytest ❯❯❯ earthly +docker
后续再总结
GitHub - earthly/earthly: The effortless CI/CD framework that runs anywhere
相关文章
- Spring boot中普通工具类不能使用@Value注入yml文件中的自定义参数的问题
- Hbase工具类-API操作
- 我最喜爱的工具-oh-my-zsh
- Tools - 虚拟环境构建工具Vagrant
- Quartz2.x任务计划调度操作工具类
- 文件预览工具类
- Hudi(26):Hudi集成Hive之同步工具
- 使用 Chrome 开发者工具分析内存问题
- Chrome开发者工具关于网络请求的一个隐藏技能
- SAP Fiori图标(icon)设计原理:一个可以查看 SAP UI5 所有可用图标的工具
- Web 应用中的 RAIL 模型 和 Chrome 开发者工具 Performances 面板对其的度量方法
- [转] .NET领域驱动设计—初尝(疑问、模式、原则、工具、过程、框架、实践)
- 【收藏】十大Webserver漏洞扫描工具
- 【PHP分享】Windows tail工具分享
- 转:有效沟通的四种工具
- 安卓稳定性测试必备工具Monkey详解
- 分享几个时间戳格式化的工具代码
- 监控容器运行时工具Falco