【发布时间】:2020-03-12 11:15:53
【问题描述】:
我刚刚使用 Docker 工具箱设置了一个 Docker 容器,并在容器内运行了 jupyter notebook
docker run --name container -v %somedirectory%:%someotherdir% -d -p 127.0.0.1:8888:8888 quay.io/fenicsproject/stable:2017.2.0 'jupyter-notebook --ip=0.0.0.0'
之后我可以查看容器的日志以查看URL and token that jupyter notebook created。
如果我现在继续将链接复制到我的浏览器,它将无法连接到 localhost。访问 127.0.0.1 也不行。
由于 Docker Toolbox 依赖于 Virtual Box VM,我还尝试使用 VM 的 IP 地址,在本例中为 192.168.99.100:2376。根据 Kitematic UI,这是 docker-machine 发布的 IP:Port 组合,实际上这不会导致一般连接错误。相反,浏览器的输出是:
Client sent an HTTP request to an HTTPS server.
从现在开始,我真的不知道该怎么办了。这个错误是什么意思?使用虚拟机的 IP 地址是否有意义?最重要的是:我还能做些什么才能最终访问 jupyter notebook?
PS:我也尝试了线程 Can't access jupyter notebook from docker 和 Access Jupyter notebook running on Docker container 中提出的建议,但不幸的是,它们中的任何一个都无法正常工作。
希望有人能提供帮助,非常感谢您。
【问题讨论】:
-
我怀疑,在 Docker Toolbox 中,
docker run -p 127.0.0.1:...不会使服务可以从主机访问(出于同样的原因,容器进程无法绑定到 127.0.0.1)。删除此命令行片段并访问docker-machine ip地址和发布的端口(@987654328@)是否有效?