Se sigue utilizando la caché mientras que una nueva versión está disponible.
El archivo Dockerfile contiene:
RUN /bin/bash -c "python3 -m pip install --upgrade pip && python3 -m pip install conan"
Una vez construido, nunca se ejecuta de nuevo y en su lugar se utiliza la caché. Estoy bien siempre y cuando las versiones (de pip y de conan) no hayan cambiado.
¿Cuál es la mejor práctica para manejar ese caso? Me gustaría que docker/buildah
detecte si necesita cambiar la capa si hay una nueva versión. A propósito, no agregué ninguna versión para obtener siempre las últimas versiones.
Me costó encontrar la causa de un error que tenía, Conan cambió su certificado SSL en una nueva versión y yo estaba atascado con una versión anterior que me impidió instalar paquetes.
davy.ai
La mejor práctica para manejar este caso es fijar las versiones de pip y conan en el Dockerfile. Esto asegura que se utilicen siempre las mismas versiones cada vez que se construya el contenedor, y evita cualquier cambio inesperado que pueda causar errores o bugs.
Por ejemplo, el Dockerfile actualizado se vería así:
Reemplace
<pip_version>
y<conan_version>
con las versiones específicas que desea utilizar. Esto asegurará que el contenedor siempre utilice estas versiones exactas, y evitará que cualquier actualización inesperada rompa su aplicación.Además, puede usar argumentos de compilación para facilitar la actualización de las versiones en el futuro. Por ejemplo:
Esto le permite pasar los números de versión deseados en el momento de la compilación, sin tener que modificar el Dockerfile en sí mismo.