Python 如何在docker容器中打开jupyter Nookbook?
运行Python 如何在docker容器中打开jupyter Nookbook?,python,docker,docker-compose,jupyter-notebook,jupyter,Python,Docker,Docker Compose,Jupyter Notebook,Jupyter,运行docker compose ps时,我有以下容器: Name Command State Ports --------------------------------------------------------------------------------- rainmaker_db_1 docker-entrypoint.sh mysqld Up 0.0
docker compose ps
时,我有以下容器:
Name Command State Ports
---------------------------------------------------------------------------------
rainmaker_db_1 docker-entrypoint.sh mysqld Up 0.0.0.0:3306->3306/tcp
rainmaker_python_1 python -u /app/run.py Up 0.0.0.0:5000->5000/tcp
我想在容器rainmaker_python_1中运行jupyther,因此我运行以下命令:
docker-compose exec python jupyter notebook --allow-root
然后我得到以下输出:
[I 23:03:19.168 NotebookApp] Serving notebooks from local directory: /app
[I 23:03:19.168 NotebookApp] 0 active kernels
[I 23:03:19.168 NotebookApp] The Jupyter Notebook is running at: http://localhost:8888/?token=35ff0fa9ec171204dbd7542d9c493c760055de24e1b7af18
[I 23:03:19.168 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[W 23:03:19.169 NotebookApp] No web browser found: could not locate runnable browser.
[C 23:03:19.169 NotebookApp]
Copy/paste this URL into your browser when you connect for the first time,
to login with a token:
http://localhost:8888/?token=35ff0fa9ec171204dbd7542d9c493c760055de24e1b7af18
但是,如果我复制并粘贴链接http://localhost:8888/?token=35ff0fa9ec171204dbd7542d9c493c760055de24e1b7af18
我知道无法访问该站点。然后我试着:
http://localhost:5000/?token=35ff0fa9ec171204dbd7542d9c493c760055de24e1b7af18
但我得到了以下信息:
我想能够执行jupyter笔记本,所以我希望有人能帮助我。我几乎没有使用Docker的经验。Jupyter笔记本电脑的默认端口号似乎是8888。当Docker容器启动Jupyter时,您可以在控制台输出中看到这一点 在Docker compose文件中更改端口映射,如下面所述,或者查看Docker compose文件中是否有可以设置的环境变量,以使Docker/Jupyter在您打开的端口(5000)上运行 下面,Docker compose部分在端口8888上设置了一个节点服务器(感谢copypasta),但应该提供足够的示例来更改您的节点服务器-实际上,唯一重要的一行是端口行
version: '2'
services:
nodejs:
build:
context: .
dockerfile: DockerFile
ports:
- "8888:8888"
我将其用于Flask应用程序,因此我有了这个
端口:-“5000:5000”
我可以添加更多端口吗?是的,只需在端口部分添加另一行,就像第一行一样我刚刚尝试了您的建议,但是我得到了GEThttp://localhost:8888/ net::ERR_EMPTY_RESPONSE
您是否已将docker撰写下来?您甚至可能需要docker compose-down--rmi=local
来完全删除容器,因此它是用正确的端口号重建的??我运行docker compose-down
,然后docker compose-up-d--build
,其中一个容器的日志是:*正在运行http://0.0.0.0:5000/ (按CTRL+C退出)172.19.0.1---[23/Apr/2017 17:55:18]“GET/HTTP/1.1”404-
。然后我运行docker容器exec-it rainmaker_python_1/bin/bash,在容器内运行jupyter notebook--allow root,它仍然不工作。