python - 如何在 docker 容器中打开 jupyter nookbooks?

标签 python docker docker-compose jupyter-notebook jupyter

运行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

但我得到以下信息:

enter image description here

我希望能够执行 jupyter 笔记本,所以希望有人可以帮助我。我几乎没有使用 Docker 的经验。

最佳答案

Jupyter 笔记本的默认端口号似乎是 8888。当 Docker 容器启动 Jupyter 时,您可以在控制台输出中看到这一点。

要么更改 Docker compose 文件中的端口映射,就像我下面所做的那样,要么查看是否有可以在 Docker compose 文件中设置的环境变量,以使 Docker/Jupyter 在您拥有的端口上运行打开(5000)。

下面,Docker compose 部分在端口 8888 上设置了一个 Node 服务器(感谢 copypasta),但应该提供足够的示例来更改您的服务器) - 实际上唯一重要的行是 ports 行。

version: '2'
services:
  nodejs:
    build:
      context: .
       dockerfile: DockerFile
     ports:
       - "8888:8888"

关于python - 如何在 docker 容器中打开 jupyter nookbooks?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43565592/

相关文章:

python - 如何在 Google App Engine 扩展类中创建动态字段?

python - 使用正则表达式或常规 Python 进行字符串替换?

docker - Docker-Alpine Elixir容器具有无法满足的约束

docker-compose 文件变得太长

docker - 无法在 Linux 上使用 ElasticSearch 映射 logstash

python - 子图的子图 Matplotlib/Seaborn

python - 字典加载不完整

docker - 通过保留容器重命名项目

windows - 如何使用 docker compose 卷挂载 windows 文件夹?

php - Laravel 8 没有读取 docker-compose 传递的环境值