AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 1165106
Accepted
Levent Y
Levent Y
Asked: 2024-09-11 23:15:14 +0800 CST2024-09-11 23:15:14 +0800 CST 2024-09-11 23:15:14 +0800 CST

RepoDigests de imagens do Docker desconhecidas

  • 772

TL;DR: Não consigo entender como telegraf@sha256:05cbea951c5cf9da6c663321b32848c1b6ffdfa877563237838efa21b508b079e telegraf@sha256:848201b0601513122f567a6b690b5ef84abbb38e78ca461d1c1d3d7465691d39são a mesma imagem para telegraf:1.31, enquanto o primeiro não é mencionado em lugar nenhum. Tenho quase certeza de que são completamente as mesmas imagens, mas estou tentando entender de onde sha256:05cbea9vem o desconhecido.

Estou trabalhando em um host e notei que a imagem do Docker para o Telegraf tem dois resumos de repositório, o que gerou alguma curiosidade porque eu esperaria ver apenas o resumo do índice ou o resumo do índice e o resumo para Linux/AMD64, já que a imagem é multiarquitetura e o host é Linux/AMD64.

Quando eu corro:

docker inspect 4fffb7e682428f97779fdee3f4c44d062de6da9ba4a754a0f3b3f0ecaf87052eno servidor, recebo a seguinte saída:

        "RepoDigests": [
            "telegraf@sha256:05cbea951c5cf9da6c663321b32848c1b6ffdfa877563237838efa21b508b079",
            "telegraf@sha256:6b0d623c54754958fed356d2af239de21dcf7c95d63b76298d0cd70df79cc719"
        ],

O segundo digest parece bom, pois representa o digest do índice. No entanto, quando verifico a API do Docker Hub, o primeiro digest (05cbea...) não é mencionado de forma alguma:

curl -s https://hub.docker.com/v2/namespaces/library/repositories/telegraf/tags/1.31 | jq '.images[] | "\(.architecture) \(.digest)"' | grep 05cbea951c5cf9da6c663321b32848c1b6ffdfa877563237838efa21b508b079
# Grep returns an empty result here

curl -s https://hub.docker.com/v2/namespaces/library/repositories/telegraf/tags/1.31 | jq '.images[] | "\(.architecture) \(.digest)"' | grep amd64
"amd64 sha256:848201b0601513122f567a6b690b5ef84abbb38e78ca461d1c1d3d7465691d39"

No entanto, elas ainda são a mesma imagem. Aqui está como eu verifiquei:

Primeiro hash;

docker pull telegraf@sha256:05cbea951c5cf9da6c663321b32848c1b6ffdfa877563237838efa21b508b079

docker images|grep telegraf
telegraf                                                                  <none>      4fffb7e68242   4 weeks ago     472MB

docker inspect 4fffb7e68242 --format='{{json .}}'| jq '"\(.Created) \(.Config.Env[1]) \(.RepoDigests)"'
"2024-08-12T15:27:35Z TELEGRAF_VERSION=1.31.3 [\"telegraf@sha256:05cbea951c5cf9da6c663321b32848c1b6ffdfa877563237838efa21b508b079\"]"

Segundo hash;

docker pull telegraf@sha256:848201b0601513122f567a6b690b5ef84abbb38e78ca461d1c1d3d7465691d39
docker images|grep telegraf
telegraf                                                                  <none>      4fffb7e68242   4 weeks ago     472MB

docker inspect 4fffb7e68242 --format='{{json .}}'| jq '"\(.Created) \(.Config.Env[1]) \(.RepoDigests)"'
"2024-08-12T15:27:35Z TELEGRAF_VERSION=1.31.3 [\"telegraf@sha256:848201b0601513122f567a6b690b5ef84abbb38e78ca461d1c1d3d7465691d39\"]"

Gostaria de saber o que estou perdendo aqui. Agradeceria qualquer dica.

Editar; A única coisa que esqueci de mencionar é que o contêiner telegraf é executado por uma pilha docker swarm. Acho que isso faria diferença em como as imagens são extraídas.

docker
  • 1 1 respostas
  • 31 Views

1 respostas

  • Voted
  1. Best Answer
    BMitch
    2024-09-12T00:08:13+08:002024-09-12T00:08:13+08:00

    Você está comparando um pin antigo de uma imagem com a reconstrução com uma nova imagem base:

    $ regctl image digest telegraf:1.31
    sha256:6b0d623c54754958fed356d2af239de21dcf7c95d63b76298d0cd70df79cc719
    

    Comparando o antigo pin:

    $ docker buildx imagetools inspect telegraf@sha256:05cbea951c5cf9da6c663321b32848c1b6ffdfa877563237838efa21b508b079
    Name:      docker.io/library/telegraf@sha256:05cbea951c5cf9da6c663321b32848c1b6ffdfa877563237838efa21b508b079
    MediaType: application/vnd.oci.image.index.v1+json
    Digest:    sha256:05cbea951c5cf9da6c663321b32848c1b6ffdfa877563237838efa21b508b079
    
    Manifests:
      Name:        docker.io/library/telegraf@sha256:848201b0601513122f567a6b690b5ef84abbb38e78ca461d1c1d3d7465691d39
      MediaType:   application/vnd.oci.image.manifest.v1+json
      Platform:    linux/amd64
      Annotations:
        org.opencontainers.image.url:             https://hub.docker.com/_/telegraf
        org.opencontainers.image.version:         1.31
        com.docker.official-images.bashbrew.arch: amd64
        org.opencontainers.image.base.digest:     sha256:66e568a0a9e5131643f75cea2fe66c8b45cc0395469455b5769ec2f051ee687b
        org.opencontainers.image.base.name:       buildpack-deps:bookworm-curl
        org.opencontainers.image.created:         2024-09-05T00:09:53Z
        org.opencontainers.image.revision:        426ed76c51f465daebb33547e3bb9632b974440f
        org.opencontainers.image.source:          https://github.com/influxdata/influxdata-docker.git#426ed76c51f465daebb33547e3bb9632b974440f:telegraf/1.31
    
      Name:        docker.io/library/telegraf@sha256:2a62640c6c53a3deea2ef3848d66f2e39ff8674da9e55d8b4114f7ddc9a1b3bb
      MediaType:   application/vnd.oci.image.manifest.v1+json
      Platform:    unknown/unknown
      Annotations:
        com.docker.official-images.bashbrew.arch: amd64
        vnd.docker.reference.digest:              sha256:848201b0601513122f567a6b690b5ef84abbb38e78ca461d1c1d3d7465691d39
        vnd.docker.reference.type:                attestation-manifest
    
      Name:        docker.io/library/telegraf@sha256:8ab2fcde5e8d5ae97676fa951049c91135adc065a30e0cd4dae5daef50665e42
      MediaType:   application/vnd.oci.image.manifest.v1+json
      Platform:    linux/arm/v7
      Annotations:
        org.opencontainers.image.base.digest:     sha256:8ac69ca67724de8c39cb2e7713440ce46aca8326fccccd92d854145a4c486a36
        org.opencontainers.image.base.name:       buildpack-deps:bookworm-curl
        org.opencontainers.image.created:         2024-08-14T00:31:20Z
        org.opencontainers.image.revision:        426ed76c51f465daebb33547e3bb9632b974440f
        org.opencontainers.image.source:          https://github.com/influxdata/influxdata-docker.git#426ed76c51f465daebb33547e3bb9632b974440f:telegraf/1.31
        org.opencontainers.image.url:             https://hub.docker.com/_/telegraf
        org.opencontainers.image.version:         1.31
        com.docker.official-images.bashbrew.arch: arm32v7
    
      Name:        docker.io/library/telegraf@sha256:2a1644b24ec3f214b33e4388d95ad4bf1e482a071ec24b625acd7d975f26d6c9
      MediaType:   application/vnd.oci.image.manifest.v1+json
      Platform:    unknown/unknown
      Annotations:
        com.docker.official-images.bashbrew.arch: arm32v7
        vnd.docker.reference.digest:              sha256:8ab2fcde5e8d5ae97676fa951049c91135adc065a30e0cd4dae5daef50665e42
        vnd.docker.reference.type:                attestation-manifest
    
      Name:        docker.io/library/telegraf@sha256:7303af7d29d74d38605bfc94fd62d936ea8d42fed1515695e94d189a98c3537d
      MediaType:   application/vnd.oci.image.manifest.v1+json
      Platform:    linux/arm64/v8
      Annotations:
        org.opencontainers.image.revision:        426ed76c51f465daebb33547e3bb9632b974440f
        org.opencontainers.image.source:          https://github.com/influxdata/influxdata-docker.git#426ed76c51f465daebb33547e3bb9632b974440f:telegraf/1.31
        org.opencontainers.image.url:             https://hub.docker.com/_/telegraf
        org.opencontainers.image.version:         1.31
        com.docker.official-images.bashbrew.arch: arm64v8
        org.opencontainers.image.base.digest:     sha256:8b5f3df20dc4d7dd3c5e730a8353ffa21a6ccb9d444507ebcc302cc3eaf6f3cf
        org.opencontainers.image.base.name:       buildpack-deps:bookworm-curl
        org.opencontainers.image.created:         2024-08-13T19:51:17Z
    
      Name:        docker.io/library/telegraf@sha256:14a0be6cc37a23c99d9488415fa573f12dd555eb3a567a347fb4e89f6f91f819
      MediaType:   application/vnd.oci.image.manifest.v1+json
      Platform:    unknown/unknown
      Annotations:
        vnd.docker.reference.digest:              sha256:7303af7d29d74d38605bfc94fd62d936ea8d42fed1515695e94d189a98c3537d
        vnd.docker.reference.type:                attestation-manifest
        com.docker.official-images.bashbrew.arch: arm64v8
    

    Para a nova imagem marcada:

    $ docker buildx imagetools inspect telegraf:1.31
    Name:      docker.io/library/telegraf:1.31
    MediaType: application/vnd.oci.image.index.v1+json
    Digest:    sha256:6b0d623c54754958fed356d2af239de21dcf7c95d63b76298d0cd70df79cc719
    
    Manifests:
      Name:        docker.io/library/telegraf:1.31@sha256:848201b0601513122f567a6b690b5ef84abbb38e78ca461d1c1d3d7465691d39
      MediaType:   application/vnd.oci.image.manifest.v1+json
      Platform:    linux/amd64
      Annotations:
        org.opencontainers.image.source:          https://github.com/influxdata/influxdata-docker.git#426ed76c51f465daebb33547e3bb9632b974440f:telegraf/1.31
        org.opencontainers.image.url:             https://hub.docker.com/_/telegraf
        org.opencontainers.image.version:         1.31
        com.docker.official-images.bashbrew.arch: amd64
        org.opencontainers.image.base.digest:     sha256:66e568a0a9e5131643f75cea2fe66c8b45cc0395469455b5769ec2f051ee687b
        org.opencontainers.image.base.name:       buildpack-deps:bookworm-curl
        org.opencontainers.image.created:         2024-09-05T00:09:53Z
        org.opencontainers.image.revision:        426ed76c51f465daebb33547e3bb9632b974440f
    
      Name:        docker.io/library/telegraf:1.31@sha256:2a62640c6c53a3deea2ef3848d66f2e39ff8674da9e55d8b4114f7ddc9a1b3bb
      MediaType:   application/vnd.oci.image.manifest.v1+json
      Platform:    unknown/unknown
      Annotations:
        com.docker.official-images.bashbrew.arch: amd64
        vnd.docker.reference.digest:              sha256:848201b0601513122f567a6b690b5ef84abbb38e78ca461d1c1d3d7465691d39
        vnd.docker.reference.type:                attestation-manifest
    
      Name:        docker.io/library/telegraf:1.31@sha256:18ee367acddef6bc891ae4edf18785ecf75d7ce476c9c559baa36d06e58a27a1
      MediaType:   application/vnd.oci.image.manifest.v1+json
      Platform:    linux/arm/v7
      Annotations:
        org.opencontainers.image.base.digest:     sha256:5f2f9b35615c65ef5907c414739f3c797f3ffed0d930f9dd7b804fb44c6e2f8a
        org.opencontainers.image.base.name:       buildpack-deps:bookworm-curl
        org.opencontainers.image.created:         2024-09-06T04:14:41Z
        org.opencontainers.image.revision:        426ed76c51f465daebb33547e3bb9632b974440f
        org.opencontainers.image.source:          https://github.com/influxdata/influxdata-docker.git#426ed76c51f465daebb33547e3bb9632b974440f:telegraf/1.31
        org.opencontainers.image.url:             https://hub.docker.com/_/telegraf
        org.opencontainers.image.version:         1.31
        com.docker.official-images.bashbrew.arch: arm32v7
    
      Name:        docker.io/library/telegraf:1.31@sha256:06658911b19998c722152953ae140cd59e9be6fd7d10efce48dc0be4c7549c20
      MediaType:   application/vnd.oci.image.manifest.v1+json
      Platform:    unknown/unknown
      Annotations:
        com.docker.official-images.bashbrew.arch: arm32v7
        vnd.docker.reference.digest:              sha256:18ee367acddef6bc891ae4edf18785ecf75d7ce476c9c559baa36d06e58a27a1
        vnd.docker.reference.type:                attestation-manifest
    
      Name:        docker.io/library/telegraf:1.31@sha256:8ab8223cf42035683913aac257a4a0bef2da657b9a1f9b6b82a25230789fe10f
      MediaType:   application/vnd.oci.image.manifest.v1+json
      Platform:    linux/arm64/v8
      Annotations:
        org.opencontainers.image.base.name:       buildpack-deps:bookworm-curl
        org.opencontainers.image.created:         2024-09-05T20:30:15Z
        org.opencontainers.image.revision:        426ed76c51f465daebb33547e3bb9632b974440f
        org.opencontainers.image.source:          https://github.com/influxdata/influxdata-docker.git#426ed76c51f465daebb33547e3bb9632b974440f:telegraf/1.31
        org.opencontainers.image.url:             https://hub.docker.com/_/telegraf
        org.opencontainers.image.version:         1.31
        com.docker.official-images.bashbrew.arch: arm64v8
        org.opencontainers.image.base.digest:     sha256:3ecd6e86b392efaaa7b0ccfc022e224fe6542a1c5a76865b63fbe3362af4e489
    
      Name:        docker.io/library/telegraf:1.31@sha256:c3bffc37d556833052d636c8f9bf84c7db5f8a05ed0fe726ad051efba5fa8c3f
      MediaType:   application/vnd.oci.image.manifest.v1+json
      Platform:    unknown/unknown
      Annotations:
        com.docker.official-images.bashbrew.arch: arm64v8
        vnd.docker.reference.digest:              sha256:8ab8223cf42035683913aac257a4a0bef2da657b9a1f9b6b82a25230789fe10f
        vnd.docker.reference.type:                attestation-manifest
    

    Parece que as imagens base do ARM foram atualizadas, enquanto a imagem base do AMD64 não foi alterada e a imagem foi reproduzida no mesmo resumo.

    • 0

relate perguntas

  • Ainda confuso por que o docker funciona quando você faz um processo ouvir 0.0.0.0, mas não 127.0.0.1

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve