• 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的原理,可以是否有方法可以解决网络的问题

  • 相关阅读:
    DPDK ring简单说明
    DPDK初始化流程
    从《雪白血红》说起(2)
    从《雪白血红》说起(1)
    苏联印象(1)-过往与想象
    DPDK ip分片与重组的设计实现
    linux协议栈分析-序
    DPDK与QoS(服务质量)
    DPDK LPM路由存储与查找
    《教父》曾说
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/12747825.html
Copyright © 2020-2023  润新知