k8s朋友圈(八)kaniko:用户态的镜像构建

发现不少童鞋,除了使用buildkit 构建镜像以外,还有使用kaniko的。今天就给大家分享一下kaniko这个工具。无论是buildkit 还是kaniko 都不依赖docker去构建镜像。

k8s朋友圈(八)kaniko:用户态的镜像构建

直接通过官方提供的镜像启动kaniko 镜像构建

    docker run 
        -v /tmp:/workspace 
        -v /root/.docker/config.json:/kaniko/.docker/config.json:ro 
        gcr.io/kaniko-project/executor:latest 
        --dockerfile Dockerfile --destination image:tag --context dir:///workspace/ 
        --cache-dir=/workspace/cache 
        --cache

这里我将/tmp目录挂载到kaniko 镜像里面/workspace,然后将Dockerfile 文件也放到/tmp 目录下面。镜像构建的输出如下:

INFO[0002] Executing 0 build triggers
INFO[0002] Using files from context: [/workspace/a]
INFO[0004] Unpacking rootfs as cmd ADD a /root/ requires it.
INFO[0017] Using files from context: [/workspace/a]
INFO[0019] ADD a /root/

操作简单,不仅如此,还可以通过缓存构建,譬如通过下面的warmer镜像预先把base镜像缓存到一个目录下面,后续kaniko 挂载这个目录后便可以利用这里的缓存。除了本地缓存也支持远程镜像仓库缓存。

docker run -v $(pwd):/workspace gcr.io/kaniko-project/warmer:latest 
  --cache-dir=/workspace/cache --image=

上面的例子利用docker启动kaniko 但这不足以体现kaniko的功能。kaniko的使用场景主要是在k8s 里面构建镜像。官方也提供一个k8s 的demo。Yaml如下

apiVersion: v1
kind: Pod
metadata:
  name: kaniko
spec:
  containers:
  - name: kaniko
    image: gcr.io/kaniko-project/executor:latest
    args: ["--dockerfile=",
            "--context=",
            "--destination=",
            "--cache",
            "--cache-dir=/cache"]
    volumeMounts:
      - name: kaniko-secret
        mountPath: /secret
      - name: kaniko-cache
        mountPath: /cache
    env:
      - name: GOOGLE_APPLICATION_CREDENTIALS
        value: /secret/kaniko-secret.json
  restartPolicy: Never
  volumes:
    - name: kaniko-secret
      secret:
        secretName: kaniko-secret
    - name: kaniko-cache
      persistentVolumeClaim:
              claimName: kaniko-cache-claim
展开阅读全文

页面更新:2024-04-25

标签:不仅如此   缓存   朋友圈   仓库   例子   场景   操作   简单   功能   发现   文件   目录   工具   官方   用户   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top