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 buildpara 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:bionicimagen, 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.0por ejemplo, y publicaran una nueva imagen pero con la misma versión, es decirubuntu:0.1.0, ¿significadocker build --pullque 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 buildse usa para construir desde un dockerfile local.docker pullse utiliza para extraer del docker hub. Si usa Docker Build sin un archivo Docker, arroja un error.Cuando especifique
--pullo:latestDocker 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
--pullbandera 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:versionLas mismas opciones están disponibles para
docker-compose:docker-compose build --no-cache --pullfuente
--no-cache. Si la imagen base se actualiza (y--pullobtiene una nueva versión) que invalida automáticamente el caché; de manera similar si usaCOPYun código diferente que invalidará el caché. Lo único que esto generalmente afectará es si está haciendo algo así comoapt-get installun paquete alojado en la red, en cuyo caso--no-cachehará que busque una versión más nueva, incluso si la imagen base no se ha actualizado.