Docker:如何在Docker容器中运行Bokeh服务器并公开输出

时间:2019-11-03 20:49:09

标签: docker server bokeh

我有一个Bokeh python代码,该代码从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 :(得分:0)

要访问主机上的文件夹,您需要使用docker卷将主机的c:/ python映射到某些linux路径。另外,您需要重新配置应用程序以使用该路径(在容器上),而不是c:/ python(或任何其他直接主机Windows路径)。

相关问题