docker pull golang docker pull yugabytedb/yugabyte docker pull quay.io/keycloak/keycloak-x
Cuando se extrae una imagen usando solo el nombre, se extrae la imagen etiquetada como latest
. Si no hay ninguna imagen con la etiqueta latest
, no se extraerá ninguna imagen.
docker pull golang:latest docker pull golang:1.17.1 docker pull yugabytedb/yugabyte:latest docker pull yugabytedb/yugabyte:2.9.0.0-b4 docker pull quay.io/keycloak/keycloak-x:latest docker pull quay.io/keycloak/keycloak-x:15.0.2
Una imagen como golang
está disponible para varios sistemas operativos/arquitectura, por ejemplo: windows/amd64
, linux/amd64
, etc. En tales casos, la ventana acoplable extrae automáticamente la imagen adecuada para el sistema operativo/arquitectura en el que se ejecuta el comando de extracción.
docker manifest inspect --verbose golang:1.17.1 # sample output [ { "Ref": "docker.io/library/golang:1.17.1@sha256:232a180dbcbcfa7250917507f3827d88a9ae89bb1cdd8fe3ac4db7b764ebb25a", "Descriptor": { "mediaType": "application/vnd.docker.distribution.manifest.v2+json", "digest": "sha256:232a180dbcbcfa7250917507f3827d88a9ae89bb1cdd8fe3ac4db7b764ebb25a", "size": 1796, "platform": { "architecture": "amd64", "os": "linux" } }, . . .
Una cosa común que sucede con una etiqueta es que podría reutilizarse. Por ejemplo, una imagen extraída con golang:latest
hoy puede ser completamente diferente de una imagen extraída dentro de 6 meses.
Las etiquetas que parecen números de versión pueden tener el mismo comportamiento. No hay garantía de que una imagen extraída con golang:1.17.1
hoy (por ejemplo, en linux/amd64
) sea la misma cuando se extraiga 6 meses después (nuevamente en linux/amd64
).
Se debe tener precaución en entornos de producción al extraer una imagen con la etiqueta latest
, ya que dificulta las reversiones.
Un resumen es una identificación que se crea automáticamente durante el tiempo de compilación y no se puede cambiar (inmutable). Cuando se extrae una imagen mediante un resumen, una docker pull
descargará la misma imagen cada vez en cualquier sistema operativo/arquitectura. Esto se llama fijación de imágenes.
Primero, determine el name:tag
que desea usar. Luego obtenga el resumen de la siguiente manera:
docker manifest inspect --verbose golang:1.17.1 # sample output [ { "Ref": "docker.io/library/golang:1.17.1@sha256:232a180dbcbcfa7250917507f3827d88a9ae89bb1cdd8fe3ac4db7b764ebb25a", "Descriptor": { "mediaType": "application/vnd.docker.distribution.manifest.v2+json", "digest": "sha256:232a180dbcbcfa7250917507f3827d88a9ae89bb1cdd8fe3ac4db7b764ebb25a", "size": 1796, "platform": { "architecture": "amd64", "os": "linux" } }, . . . docker manifest inspect --verbose yugabytedb/yugabyte:2.9.0.0-b4 docker manifest inspect --verbose quay.io/keycloak/keycloak-x:15.0.2
El comando anterior devuelve una respuesta JSON. Busque el digest
en el Descriptor
.
# golang 1.17.1 for linux/amd64 docker pull golang@sha256:232a180dbcbcfa7250917507f3827d88a9ae89bb1cdd8fe3ac4db7b764ebb25a # yugabyte 2.9.0.0-b4 for linux/amd64 docker pull yugabytedb/yugabyte@sha256:974219f34a18afde9517b27f3b81403c3a08f6908cbf8d7b717097b93b11583d # keycloak-x 15.0.2 for linux/amd64 docker pull quay.io/keycloak/keycloak-x@sha256:a6b7be1808b8443dde696c5f108be1cb6e7641d6b281ef7598df012c1d6871f8
Nota: Los comentarios agregados arriba solo para mejorar la legibilidad.
name
o name:tag
.name@sha256:digest
para extraer su(s) imagen(es) base(s). Esto asegura que se construya la misma imagen final en cualquier máquina.name:tag
donde una etiqueta representa un número de versión, por ejemplo, v21.10.1
. Evite usar la etiqueta latest
, ya que dificulta las reversiones.name@sha256:digest
si es posible. Si elige usar name:tag
, tenga en cuenta que las etiquetas se pueden reutilizar. Evite usar la etiqueta latest
, ya que dificulta las reversiones.name
o name:tag
o name@sha256:digest
.name
o name:tag
descargará automáticamente la imagen adecuada para el sistema operativo/arquitectura en el que se ejecuta el comando de extracción.docker manifest inspect --verbose <name:tag>
para ver los sistemas operativos/arquitecturas de una imagen y obtener el resumen.name@sha256:digest
para descargar la misma imagen en cualquier sistema operativo/arquitectura.latest
en un entorno de producto, ya que dificulta las reversiones.