Tengo las siguientes imágenes acoplables.
$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest 48b5124b2768 2 months ago 1.84 kB docker/whalesay latest 6b362a9f73eb 22 months ago 247 MB
¿Hay alguna manera de que pueda ver el Dockerfile de cada imagen acoplable en mi sistema local?
La respuesta en ¿Dónde ver el Dockerfile para una imagen acoplable? no me ayuda porque no muestra exactamente el Dockerfile pero los comandos se ejecutan para crear la imagen. Quiero el propio Dockerfile.
Que yo sepa, no, no se puede. Debido a que se usa un Dockerfile para crear la imagen, no se empaqueta con la imagen en sí. Eso significa que debes aplicar ingeniería inversa. Puede usar docker inspect
en una imagen o contenedor, obteniendo así una idea y una idea de cómo está configurado. Las capas de una imagen también son visibles, ya que las extrae cuando extrae una imagen específica, por lo que tampoco es un secreto.
Sin embargo, normalmente puede ver el Dockerfile en el repositorio de la propia imagen en Dockerhub. No puedo decir que la mayoría de los repositorios tengan Dockerfiles adjuntos, pero la mayoría de los repositorios que he visto sí lo tienen.
Diferentes mantenedores de repositorios pueden optar por diferentes formas de documentar los Dockerfiles. Puede ver la pestaña Dockerfile en la página del repositorio si las compilaciones automáticas están configuradas. Pero cuando hay varias versiones paralelas disponibles (como para Ubuntu ), los mantenedores suelen optar por poner enlaces a los Dockerfiles para diferentes versiones en la descripción. Si echa un vistazo aquí: https://hub.docker.com/_/ubuntu/ , debajo de las "Etiquetas admitidas" (nuevamente, para Ubuntu), puede ver que hay enlaces a varios Dockerfiles, para cada versión respectiva de Ubuntu .
Como las imágenes se descargan directamente desde Dockerhub, solo la imagen se extrae del hub de la ventana acoplable a su máquina. Si desea ver el archivo docker, puede ir a docker hub y escribir el nombre de la imagen y el nombre de la versión en el formato de etiqueta (por ejemplo, ubuntu: 14.04), esto abrirá la imagen junto con los detalles del archivo Docker. También tenga en cuenta que solo si el propietario de la imagen compartió su Dockerfile, puede verlo. De otra forma no. La mayoría de las imágenes oficiales no le proporcionarán Dockerfile.
¡Espero eso ayude!
También puede regenerar el dockerfile a partir de una imagen o usar el comando de historial de docker para ver qué hay dentro. mira esto: Enlace para responder
TL; DR Entonces, si tiene una imagen de docker creada por un dockerfile, puede recuperar esta información (toda excepto del comando FROM original, que es importante, lo concedo. Pero a menudo puede adivinarlo, especialmente por entrando al contenedor y preguntando "¿Qué sos?"). Sin embargo, el creador de la imagen podría tener pasos manuales que de todos modos nunca conocería, además, PODRÍAN simplemente exportar una imagen y volver a importarla y no habría imágenes intermedias en ese punto.