我如何发布jupyter tmpnb服务器?

我试图发布一个tmpnb服务器,但是卡住了。 在http://github.com/jupyter/tmpnb上的快速入门之后,我可以在本地运行服务器并在172.17.0.1:8000上访问它。

但是,我无法远程访问服务器。 我已经尝试使用以下命令创build代理容器时添加-p 8000:8000

docker run -it -p 8000:8000 –net = host -d -e CONFIGPROXY_AUTH_TOKEN = $ TOKEN –name = proxy jupyter /configurable -http-proxy –default-target http://127.0.0.1:9999

我尝试通过键入机器的IP地址访问服务器:8000,但我的浏览器仍然返回“此网站无法到达”。

代理的日志是:

docker日志 – 详细信息45d836f98450 08:33:20.981 – info:[ConfigProxy]代理http:// *:8000到http://127.0.0.1:9999 08:33:20.988 – info:[ConfigProxy] Proxy API at http ://本地主机:8001 / API /路线

为了validation我可以访问在同一台机器上运行的其他服务器,我尝试了以下命令: docker run -d -it -rm -p 8888:8888 jupyter / minimal-notebook,并且能够通过机器的ip地址远程访问它:8888

我错过了什么?

我正在使用Docker 17.03.0-ce工作在Ubuntu 16.04机器上

谢谢

用下面的内容创build一个名为docker-compose.yml的文件,然后你可以用docker-compose up启动容器。 由于图像将被直接拉动,错误将被逮捕。

 httpproxy: image: jupyter/configurable-http-proxy environment: CONFIGPROXY_AUTH_TOKEN: 716238957362948752139417234 container_name: tmpnb-proxy net: "host" command: --default-target http://127.0.0.1:9999 ports: - 8000:8000 tmpnb_orchestrate: image: jupyter/tmpnb net: "host" container_name: tmpnb_orchestrate environment: CONFIGPROXY_AUTH_TOKEN: $TOKEN$ volumes: - /var/run/docker.sock:/docker.sock command: python orchestrate.py --command='jupyter notebook --no-browser --port {port} --ip=0.0.0.0 --NotebookApp.base_url=/{base_path} --NotebookApp.port_retries=0 --NotebookApp.token="" --NotebookApp.disable_check_xsrf=True' 

可以从github.com/jupyter/tmpnb README.md文件获得解决scheme。 在“开发”标题下的文件末尾列出了三个命令:

git clone https://github.com/jupyter/tmpnb.git

cd tmpnb

使开发

这些命令复制tmpnb存储库,cd到tmpnb存储库中,然后从tmpnb存储库中包含的makefile运行“dev”命令。 在我的机器上,input这些命令在我可以远程访问的临时服务器上创build一个笔记本。 请注意,“make dev”命令将删除潜在冲突的Docker容器,作为启动过程的一部分。

通过查看makefile文件可以获得有关如何工作的一些见解。 在Docker上运行可configuration的http代理映像时,端口8000和8001都会发布,并且tmpnb映像将以CONFIGPROXY_ENDPOINT = http:// proxy:8001运行