当前位置: 首页 > 知识库问答 >
问题:

无法从主机访问jupyter docker容器

西门奇希
2023-03-14

我有一个关于这个问题的问题https://hub.docker.com/r/jupyter/scipy-notebook.我正在尝试使用docker compose运行此图像:

组成:

  jupyter:
    container_name: jupyter
    build: 
      context: ./Jupyter
      dockerfile: Dockerfile
    ports:
      - "8888:8888"
    volumes:
       - ./scripts:/opt/notebooks/connector
    network_mode: "host"
    command: bash -c "jupyter notebook --notebook-dir=/opt/notebooks --ip=* --port=8888 --no-browser --allow-root"

Dockerfile

FROM jupyter/scipy-notebook
EXPOSE 8888

我用手够不着它http://locahost:8888 .... 网址。我使用Windows10作为主机,并尝试从这个docker compose和这些工作中访问其他服务。

共有2个答案

彭俊智
2023-03-14

图像替换build部分:jupyter/sepy-笔记本。还删除network_mode命令部分,您的代码可能会工作。我不知道为什么你的代码在这种情况下没有运行,但我认为这一定与命令部分有关,该部分正在替换jupyter图像的默认命令。此外,您不需要创建Dockerfile来添加EXPOSE;您可以直接使用图像。

蒙峰
2023-03-14

您不能使用主机网络模式并一起发布端口

docker run --rm -it --net=host -p80:80 yeasy/simple-web:latest

警告:使用主机网络模式时,会丢弃已发布的端口

对于第二部分,要从容器内部到达主机,请使用host.docker.internaldns

 类似资料:
  • 我有一个docker应用程序,我使用以下docker compose。yml运行它: 我有一个没有docker化的服务器在我的机器上运行,我可以通过访问它。我希望我的服务能够访问它。 我发现有人建议在我的服务配置中添加以下内容: 但是当我添加这个时,并尝试,我得到。当我尝试<code>curl时,也会出现同样的错误http://host.docker.internal:3000。 我拼命地尝试将端

  • 问题内容: 我刚刚使用自制软件在Mac上使用Docker- Toolbox安装了Docker:使用自制软件安装了Docker 在使用Rails创建并配置了容器之后,Postgres并启动了docker-compose,一切看起来都很好,但是我无法从主机访问Web服务器。 输出 当我输入谷歌浏览器的网址http://0.0.0.0:8000/我得到 所以我尝试了 具有以下输出: 当我尝试使用Chro

  • 我在本地机器(Mac)上工作,其中有一个名为sqlvm的遗留虚拟机(这意味着我可以通过http://sqlvm:从本地主机访问这个虚拟机)。现在,我在应该连接到vm的同一个本地主机(我的Mac)中设置了几个docker容器(使用docker-compose)。< code>pymysql会引发一个异常: 如何将外部的“sqlvm”公开给内部 Docker 网络? 编辑:我尝试在yml文件中为相关容

  • 问题内容: 如果我在某个主机上运行mysql数据库,并且该主机也正在运行docker容器:我如何从主机上运行的docker容器中访问mysql数据库? 例如,是否有一种方法可以将主机端口发布到容器(与docker run -p的作用相反)? 问题答案: 关于如何以一致的,易于理解的和可移植的方式执行此操作的问题已有很长时间的讨论。尚无完整的解决方案,但我会将您链接到下面的讨论。 无论如何,您都想尝

  • 问题内容: 我正在开发服务,并在那里使用docker compose来旋转诸如postgres,redis,elasticsearch之类的服务。我有一个基于RubyOnRails的Web应用程序,并从所有这些服务中进行读写操作。 这是我的 我可以在此网络中ping容器 到目前为止,一切都很好。现在我想在主机上的Rails应用程序上运行ruby,但是能够像目前这样使用url访问postgres实例