Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

206
Visualizações
¿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?
about 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

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>
about 4 years ago · Santiago Trujillo Relatório

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"]
about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda