Docker: Как запустить сервер Bokeh внутри контейнера Docker и выставить вывод - PullRequest
0 голосов
/ 03 ноября 2019

У меня есть код Python Bokeh, который импортирует данные из файла Excel и проецирует местоположения моих поставщиков на карты Google. Файл Excel хранится на моем локальном хосте в папке C: \ Python, из которой его выбирает код Python. Этот код отлично работает, когда я открываю командную строку и использую команду «Bokeh serve --show Gmaps_Bokeh.py». Однако, когда я создаю файл Docker, чтобы сделать то же самое, и сопоставляю порт 5006 с 2000, я ничего не вижу в своем браузере.

Я создал папку Docker на моем хосте, которая содержит Gmaps_Bokeh.py, Sid. xls и Dockerfile, и в моем Dockerfile я копирую все содержимое в каталог / Python контейнера.

В Docker-терминале отображается следующее

$ docker run -p 5006:2000 sid
2019-11-03 20:38:43,329 Starting Bokeh server version 1.3.4 (running on 
Tornado 6.0.3)
2019-11-03 20:38:43,334 Bokeh app running at:    
http://localhost:5006/Gmaps_Bokeh
2019-11-03 20:38:43,334 Starting Bokeh server with process id: 1

Содержимое Dockerfile

 FROM python
 RUN pip install bokeh
 RUN pip install gmaps
 RUN pip install pandas
 RUN pip install xlrd
 WORKDIR /Python
 COPY . /Python
 EXPOSE 2000
 CMD ["bokeh", "serve","/Python/Gmaps_Bokeh.py"]

1 Ответ

0 голосов
/ 04 ноября 2019

Чтобы получить доступ к папке на хосте, вам нужно использовать тома докера для сопоставления хоста c: / python с каким-нибудь Linux-путем. Кроме того, вам необходимо перенастроить ваше приложение для использования этого пути (в контейнере), а не c: / python (или любого другого прямого пути окон хоста).

...