Я хочу узнать, как развертывать приложения с помощью Docker, и я работаю с этой простой программой на python, которая записывает некоторые данные в файл csv в текущем рабочем каталоге. Я вижу файл output.csv в текущем рабочем каталоге на моем локальном компьютере, но у меня возникают проблемы с ним, когда я запускаю образ докера.
После прочтения различных статей и сообщений о stackoverflow, монтирование пути к локальному каталогу с помощью "-v", кажется, способ добиться этого, но я не могу получить правильную команду.
Я попытался создать новый каталог на моем локальном компьютере с именем «output_docker» (я также заменил параметр get.cwd () в программе на этот путь) и использовал его с параметром -v.
docker container run -v "/Users/Desktop/output_docker" docker_image_name
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"]
Вывод на локальный компьютер
$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
Вывод при запуске образа докера
$docker build -t ex_scraper .
$docker run ex_scraper
Name Age
0 tom 10
1 nick 15
2 juli 14
dirpath = /
/output.csv
Я понимаю, что файл "output.csv" будет находиться в подкаталогах контейнера Docker, но я хочу, чтобы он был виден в текущем рабочем каталоге (или на рабочем столе), когда образ докера запускается на другом компьютере. ,
Буду признателен, если кто-нибудь может указать, где я иду не так.