Al construir una imagen acoplable que normalmente usa docker build .
.
Pero he descubierto que puede especificar --pull
, por lo que todo el comando se vería asídocker build --pull .
No estoy seguro sobre el propósito de --pull
. La documentación oficial de Dockers dice "Siempre intente obtener una versión más nueva de la imagen", y no estoy seguro de lo que esto significa en este contexto.
Se utiliza docker build
para crear una nueva imagen y, finalmente, publicarla en algún lugar en un registro de contenedor. ¿Por qué querrías sacar algo que aún no existe?
Esperaría que algo tan "simple" como esto se encuentre fácilmente en la web, pero nadie parece tener una pregunta similar a esta. El único éxito real en Google se refiere a los documentos oficiales de Dockers, que yo (como se indicó anteriormente) no entiendo.
¡Gracias por tu ayuda!
ubuntu:bionic
imagen, ya que (obviamente) no tiene una versión adjunta, pero seguirá siendo diferente cada vez que publiquen una nueva imagen. Todo tiene sentido. ¡Gracias!ubuntu:0.1.0
por ejemplo, y publicaran una nueva imagen pero con la misma versión, es decirubuntu:0.1.0
, ¿significadocker build --pull
que volverá a descargar toda la nueva imagen nuevamente? (que sería lo que la mayoría de la gente prefería, supongo)Respuesta simple
docker build
se usa para construir desde un dockerfile local.docker pull
se utiliza para extraer del docker hub. Si usa Docker Build sin un archivo Docker, arroja un error.Cuando especifique
--pull
o:latest
Docker intentará descargar la versión más reciente (si la hay)Básicamente, si agrega --pull, intentará extraer la versión más nueva cada vez que se ejecute.
fuente
Docker permite pasar la
--pull
bandera adocker build
, por ejemplodocker build . --pull -t myimage
. Esta es la forma recomendada de garantizar que la compilación siempre use la última imagen del contenedor a pesar de la versión disponible localmente. Sin embargo, un punto adicional que vale la pena mencionar:Para asegurarse de que su compilación se reconstruya por completo, incluida la comprobación de actualizaciones de la imagen base, use las siguientes opciones al compilar:
--no-cache
- Esto forzará la reconstrucción de las capas ya disponibles.El comando completo se verá así:
docker build . --pull --no-cache --tag myimage:version
Las mismas opciones están disponibles para
docker-compose
:docker-compose build --no-cache --pull
fuente
--no-cache
. Si la imagen base se actualiza (y--pull
obtiene una nueva versión) que invalida automáticamente el caché; de manera similar si usaCOPY
un código diferente que invalidará el caché. Lo único que esto generalmente afectará es si está haciendo algo así comoapt-get install
un paquete alojado en la red, en cuyo caso--no-cache
hará que busque una versión más nueva, incluso si la imagen base no se ha actualizado.