Python не находит файл в контейнере Docker - PullRequest
0 голосов
/ 02 ноября 2018

У меня проблема с тем, что моя программа на Python не найти заданную папку в Ubuntu в контейнере Docker.

Сначала я собираю свой докер-контейнер, а затем запускаю его, который проходит без проблем, пока моя программа не найдет файл. Я работаю над Raspberry pi с Ubuntu Core 16 и Docker, чтобы запустить мой файл python.

Я нашел похожий вопрос здесь и попробовал их решение:

with open(os.path.join(os.path.expanduser('~'), 'SearchFiles', 'data.csv'), 'r') as csvfile:

Но теперь я получаю ошибку:

No such File or directory: 'root/Searchfiles/data.csv'

Но программа - это папка ~ / usr / git / MVP-Project / Searchfiles / data.csv

Dockerfile для запуска образа:

FROM python:3.6
ADD app.py /
RUN pip install numpy
RUN pip install requests
RUN pip install fake_useragent
RUN pip install datetime
RUN pip install selenium
RUN pip install requests_html
CMD [ "python", "./app.py" ]

Так почему же он показывает неправильный путь и как добавить правильный путь?

1 Ответ

0 голосов
/ 02 ноября 2018

Ваш data.csv не существует в вашем Docker-контейнере, потому что вы копируете только app.py.

ADD app.py /

Переместите data.csv в тот же каталог, что и app.py, и измените команду на.

COPY ["data.csv", "app.py", "/"]

Если это не сработало, попробуйте.

COPY . .

При таком подходе каждый файл каталога доступен внутри вашего контейнера, поэтому для вас должен быть файл data.csv. Ну, пока вы держите его в том же каталоге.

...