【问题标题】:Why "Skaffold" creates two images for each Dockerfile?为什么“Skaffold”为每个 Dockerfile 创建两个镜像?
【发布时间】:2022-12-23 00:37:38
【问题描述】:

这是我的skaffild.yaml 文件:

apiVersion: skaffold/v2alpha3
kind: Config
deploy:
  kubectl:
    manifests:
      - ./infra/k8s/*
build:
  local:
    push: false
  artifacts:
    - image: tester/auth
      context: auth
      docker:
        dockerfile: Dockerfile
      sync:
        manual:
          - src: 'src/**/*.ts'
            dest: .
    - image: tester/ticketing-client
      context: client
      docker:
        dockerfile: Dockerfile
      sync:
        manual:
          - src: '**/*.js'
            dest: .
    - image: tester/tickets
      context: tickets
      docker:
        dockerfile: Dockerfile
      sync:
        manual:
          - src: 'src/**/*.ts'
            dest: .
    - image: tester/orders
      context: orders
      docker:
        dockerfile: Dockerfile
      sync:
        manual:
          - src: 'src/**/*.ts'
            dest: .

这是 Dockerfiles 之一,例如:

FROM node:alpine

WORKDIR /app
COPY package.json .
RUN npm install --only=prod
COPY . .

CMD ["npm", "start"]

我在本地 Windows 10 上使用Docker-Desktop。当我运行 skaffold dev 命令时,它会为每个图像创建两个实例,一个带有 latest 标签,另一个带有 66fd1b7d90526513591c1af211f26c9d19d1c7415baac331246219a40a8e6ec0 之类的标签。

正常吗?为什么要这样做?

【问题讨论】:

    标签: docker kubernetes windows-10 docker-desktop skaffold


    【解决方案1】:

    您的 tagPolicy 似乎设置为 sha256,它标记了您的 docker 镜像两次,一次使用 sha 摘要 :66fd1b...,另一次使用 :latest。有点奇怪,因为您的 skaffold.yaml 没有明确设置 tagPolicy,默认设置为 gitCommit

    【讨论】:

      猜你喜欢
      • 2020-03-10
      • 1970-01-01
      • 1970-01-01
      • 2018-09-20
      • 2020-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多