Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

214
Vistas
¿Cómo catear un archivo dentro de una imagen acoplable?

Suponga que hay 40 pasos en un Dockerfile. Imagine una situación en la que cambia un archivo (por ejemplo, prod.json ) y vuelve a ejecutar el tercer paso en Dockerfile al ejecutar el comando de docker build . Dado que la docker build tarda más de un minuto en ejecutarse, ¿hay alguna forma de ver el contenido del archivo prod.json en la imagen de la ventana acoplable actual? Esto me permitirá decidir si reconstruir la imagen de la ventana acoplable o no.

Explicación alternativa de mi pregunta:

  1. Ejecute docker build para crear una imagen docker con service de etiquetas (llámelo v1)
  2. Cambie un archivo (por ejemplo, prod.json ) que requería el tercer paso en Dockerfile para volver a ejecutarse (fallando así el caché)
  3. Ejecute la compilación de la docker build para crear una imagen de la ventana acoplable con el service de etiquetas (llámelo v2)
  4. Ir a un descanso y volver después de 1 hora
  5. Confundirse si la compilación actual tiene el cambio que incluyó en el segundo paso: ¿hay alguna forma de catear el archivo directamente desde la imagen de la ventana acoplable sin ejecutar el contenedor en esta etapa?
over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Esto parece funcionar de manera confiable para mí, ya que resuelve el conflicto del punto de entrada y asegura la salida a la salida estándar. También mata el contenedor inmediatamente después de recopilar los datos para mantener las cosas limpias, casi tan bueno como no ejecutarlo en absoluto. Espero que ayude a otros.

 docker run -it --rm -a stdout --entrypoint cat <image> <filename>

También es fácil crear un alias si lo haces mucho. Agregue la primera línea a su ~/.bash_aliases o ~/.bashrc .

 $ alias dcat='docker run -it --rm -a stdout --entrypoint cat' $ dcat <image> <filename>
over 4 years ago · Santiago Trujillo Denunciar

0

Cuando haga docker build , docker iniciará un contenedor intermedio y ejecutará su comando dentro, luego el contenedor se eliminará una vez que finalice el proceso. Entonces, si desea verificar el contenido de algún archivo mientras la imagen aún está en construcción, simplemente docker exec -it <intermediate_container_id> /bin/bash y compruébelo.

He aquí un ejemplo detallado:

Dockerfile con proceso de compilación largo simulado :

 FROM alpine:3.3 RUN echo '["name": "docker"]' > /root/prod.json RUN echo "prod.json modified, start long build process" && sleep 120 && echo "Long build process finished"

Construye la imagen

  ~/test/long-build-dockerfile/ [test1*] docker build -t long-running-build . Sending build context to Docker daemon 2.048 kB Step 1/3 : FROM alpine:3.3 ---> 6c2aa2137d97 Step 2/3 : RUN echo '["name": "docker"]' > /root/prod.json ---> Running in 4045ab129add ---> f5d21892fa51 Removing intermediate container 4045ab129add Step 3/3 : RUN echo "prod.json modified, start long build process" && sleep 120 && echo "Long build process finished" ---> Running in dd45b269efda prod.json modified, start long build process

Ahora el proceso de compilación se detendrá durante 120 segundos aquí, luego abra otra terminal y busque el contenedor intermedio:

  ~/ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES dd45b269efda f5d21892fa51 "/bin/sh -c 'echo ..." 11 hours ago Up 4 seconds serene_gates

Entra y comprueba el contenido:

  ~/ docker exec -it serene_gates sh / # cd /root/ ~ # ls prod.json ~ # cat prod.json ["name": "docker"]
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda