earthly 使用中碰到的一些问题说明
buildkit依赖
earthly 依赖buildkit,我们可以自己搭建buildkit集群,或者earthly自己基于容器运行,可以通过 --buildkit-image
指定buildkit的镜像,当前的为earthly/buildkitd:v0.1.0
无网络环境的问题
目前在测试机器无网络环境构建镜像的时候发现暂时不太好事(buildkit的原因),通过大略查看buildkit 的源码,发现
在upack 阶段会有根据manifest 发去http 请求的处理,如果机器没有网络会有类似如下的错误
failed to load cache key: failed to do request: Head https://registry-1.docker.io/v2/library/busybox/manifests/1.31.1: dial tcp 54.210.105.17:443: i/o timeout
earthly 大致流程(后边详细介绍)
通过bcc的execsnoop查看到的,有利于学习earthly的一些原理
- 测试的命令
earth --buildkit-image xxxx/buildkitd:v0.1.0 +docker
效果
PCOMM PID PPID RET ARGS earth 24375 23225 0 /bin/earth --buildkit-image xxxxxxx +docker docker 24381 24375 0 docker 24393 24375 0 /bin/docker inspect --format={{index .Image}} earthly-buildkitd docker 24405 24375 0 /bin/docker inspect --format={{index .Id}} xxxxxx docker 24420 24375 0 /bin/docker inspect --format={{index .Config.Labels "dev.earthly.settingshash"}} earthly-buildkitd sh 24437 24375 0 /bin/sh -c which git docker 24438 24375 0 /bin/docker exec -i earthly-buildkitd buildctl dial-stdio which 24437 24375 0 /bin/which git git 24441 24375 0 /bin/git status runc 24461 23742 0 runc 24467 23742 0 /usr/bin/runc --root /var/run/docker/runtime-runc/moby --log /run/containerd/io.containerd.runtime.v1.linux/moby/064cae451e890ef1c29d04787db27d62da453e1a3000e925a64adad789d3498d/log.json --log-format json state 064cae451e890ef1c29d04787db27d62da453e1a3000e925a64adad789d3498d runc 24472 23742 0 /usr/bin/runc --root /var/run/docker/runtime-runc/moby --log /run/containerd/io.containerd.runtime.v1.linux/moby/064cae451e890ef1c29d04787db27d62da453e1a3000e925a64adad789d3498d/log.json --log-format json exec --process /tmp/runc-process893340392 --detach --pid-file /run/containerd/io.containerd.runtime.v1.linux/moby/064cae451e890ef1c29d04787db27d62da453e1a3000e925a64adad789d3498d/09d4ab62304 064cae451e890ef1c29d04787db27d62da453e1a3000e925a64adad789d3498d exe 24478 24472 0 /proc/self/exe init 5 24478 24472 0 /proc/self/fd/5 init buildctl 24480 24472 0 /usr/bin/buildctl dial-stdio runc 24486 23742 0 /usr/bin/runc --root /var/run/docker/runtime-runc/moby --log /run/containerd/io.containerd.runtime.v1.linux/moby/064cae451e890ef1c29d04787db27d62da453e1a3000e925a64adad789d3498d/log.json --log-format json state 064cae451e890ef1c29d04787db27d62da453e1a3000e925a64adad789d3498
说明
以上是在使用中碰到的一些问题,后期再仔细研究下buildkit的原理,可以是否有方法可以解决网络的问题
相关推荐
魅惑青花瓷 2020-11-11
yangkang 2020-11-09
MichaelJScofield 2020-11-06
TaoTaoFu 2020-11-06
liaochaowu 2020-11-16
ChlatZed 2020-11-11
lnkToKing 2020-10-29
ChlatZed 2020-10-27
ChlatZed 2020-10-13
时光流水 2020-09-23
yangkang 2020-09-23
changecan 2020-09-22
dusuanyun 2020-09-21
newisI 2020-09-01
liaochaowu 2020-09-14
ShangQuan0 2020-09-10
fearlessxjdx 2020-09-04
libra0 2020-09-02
ChlatZed 2020-08-23