• Empleos
  • Sobre nosotros
  • Empleos
    • Inicio
    • Empleos
    • Cursos y retos
  • Empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Nómina
    • Blog
    • Comercial
    • Calculadora de salario

0

1.4K
Vistas
Docker: escritura de la salida de python en un archivo csv en el directorio de trabajo actual

Quiero aprender a implementar aplicaciones con Docker y estoy trabajando con este sencillo programa de Python que escribe algunos datos en un archivo csv en el directorio de trabajo actual. Puedo ver el archivo output.csv en el directorio de trabajo actual en mi máquina local, pero tengo problemas cuando ejecuto la imagen de la ventana acoplable.

Después de leer varios artículos y publicaciones en stackoverflow, montar la ruta del directorio local usando "-v" parece ser la forma de lograrlo, pero no puedo obtener el comando correcto. Intenté crear un nuevo directorio en mi máquina local llamado "output_docker" (también reemplacé la opción get.cwd() en el programa con esta ruta) y lo usé con la opción -v.

 docker container run -v "/Users/Desktop/output_docker" docker_image_name

Código Python (scraper.py)

 import pandas as pd import os data = [['tom', 10], ['nick', 15], ['juli', 14]] df = pd.DataFrame(data, columns = ['Name', 'Age']) dirpath = os.getcwd() print("dirpath = ", dirpath, "\n") output_path = os.path.join(dirpath,'output.csv') print(output_path,"\n") df.to_csv(output_path)

DOCKERFILE

 FROM python:3 ADD scraper.py / RUN pip install pandas CMD ["python3","./scraper.py"]

Salida en máquina local

 $python3 scraper.py Name Age 0 tom 10 1 nick 15 2 juli 14 dirpath = /Users/Prathusha/Desktop/topos_docker /Users/Prathusha/Desktop/topos_docker/output.csv

Salida cuando ejecuto la imagen de la ventana acoplable

 $docker build -t ex_scraper . $docker run ex_scraper Name Age 0 tom 10 1 nick 15 2 juli 14 dirpath = / /output.csv

Entiendo que el archivo "output.csv" se ubicará dentro de los subdirectorios del contenedor de la ventana acoplable, pero quiero que esté visible en el directorio de trabajo actual (o escritorio) cuando la imagen de la ventana acoplable se ejecute en una máquina diferente. Agradecería si alguien puede señalar dónde me estoy equivocando.

over 3 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Puede vincular su directorio de host, sugeriría usar un WORKDIR y reemplazar ADD con COPY -

DOCKERFILE

 FROM python:3 WORKDIR /mydata COPY scraper.py ./ RUN pip install pandas CMD ["python3","./scraper.py"]

Ejecutarlo -

 docker run -v ${PWD}:/data ex_scraper

Ahora debería poder ver el CSV en su directorio actual en el host.

over 3 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 Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recomiéndame algunas ofertas
Necesito ayuda