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

233
Visualizações
¿Cómo se desarrolla iterativamente con Docker?

¿Cómo se desarrolla iterativamente su aplicación usando Docker? Recién comencé a usarlo y mi flujo de trabajo es muy lento, así que estoy bastante seguro de que lo estoy usando mal.

Estoy siguiendo un curso de aprendizaje automático de python en Youtube, por lo que estoy usando Docker para trabajar con python 3. Sé que puedo usar virtualenv o una VM, pero también quiero aprender Docker, así que tengan paciencia conmigo.

Mi directorio raíz se ve así:

 Dockerfile main.py*

Mi archivo docker:

 FROM python COPY . /src RUN pip install quandl RUN pip install pandas CMD ["python", "/src/main.py"]

Y el archivo Python:

 #!/usr/bin/env python import pandas as pd import quandl print("Hello world from main.py") df = quandl.get("WIKI/GOOGL") print("getting data frame for WIKI/GOOGL") print(df.head())

Mi flujo de trabajo ha sido:

  1. Aprende algo nuevo del tutorial
  2. Actualizar archivo python
  3. Cree la imagen de la ventana acoplable: docker build -t myapp .
  4. Ejecute la aplicación: docker run my app python /src/main.py

Preguntas:

  1. ¿Cómo puedo acelerar todo esto? Por cada cambio que quiero intentar, termino reconstruyendo. Esto hace que pip obtenga dependencias cada vez, lo que lleva demasiado tiempo.

  2. En lugar de editar un archivo de python y ejecutarlo, ¿cómo podría obtener un shell interactivo de la versión de python que se ejecuta en el contenedor?

  3. Si quisiera que mi programa escribiera un archivo, ¿cómo podría devolver este archivo a mi sistema local desde el contenedor después de que el programa haya finalizado?

¡Gracias por la ayuda!

Editar: debo agregar, este fue el tutorial que estaba siguiendo en general para ejecutar un código de Python en Docker:https://www.civisanalytics.com/blog/using-docker-to-run-python/

about 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Acelerar el proceso de reconstrucción

Lo más simple que puede hacer es reordenar su Dockerfile.

 FROM python RUN pip install quandl RUN pip install pandas COPY . /src CMD ["python", "/src/main.py"]

La razón por la que esto ayuda es que Docker reutilizará la compilación almacenada en caché para los comandos que ya ha ejecutado. Ahora, cuando reconstruya después de modificar su código fuente, reutilizará los resultados de la compilación para los comandos pip , ya que no es necesario volver a ejecutarlos. Solo ejecutará el paso COPY .

Conseguir un shell de python

Puede ejecutar un shell en el contenedor en ejecución y ejecutar su comando python.

 docker exec -it <container-id> bash python <...>

O bien, puede ejecutar un contenedor con solo un shell y omitir la ejecución de su aplicación por completo (luego, ejecútela como desee).

 docker run -it <image> bash python <...>

Escribir fuera del contenedor

Monte un directorio externo en el contenedor. Luego escriba en la ruta montada.

 docker run -v /local/path:/path <.. rest of command ..>

Luego, cuando escriba en el contenedor en /path/file , el archivo aparecerá fuera del contenedor en /local/path/file .

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