Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在docker容器中打开jupyter Nookbook?_Python_Docker_Docker Compose_Jupyter Notebook_Jupyter - Fatal编程技术网

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,它仍然不工作。