【问题标题】:Adding/Exposing a port with Django to an existing Docker container使用 Django 向现有 Docker 容器添加/公开端口
【发布时间】:2020-05-27 05:53:42
【问题描述】:

这里可能有一个相当简单的答案,但是...

我正在尝试使用这个容器:https://hub.docker.com/r/gboeing/osmnx,以便轻松处理一些复杂的依赖关系。在从 continuum/anaconda 容器构建 docker 映像时,我遇到了各种 conda 依赖关系问题。

所以,我想在这个容器中公开一个端口并运行一个 Django 服务器。

我手动安装了 Django 并在容器内运行服务器。但是,我无法连接到 localhost,http://127.0.0.1:8000/

(base) root@91805d36444c:/server# python manage.py runserver 
Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).
May 27, 2020 - 05:31:45
Django version 3.0.6, using settings 'server.settings'
Starting development server at http://127.0.0.1:8000/

在浏览器中导航到http://127.0.0.1:8000/,无法访问。

可能的相关信息:

【问题讨论】:

  • 不要在 gboeing/osmnx 容器中运行它,您应该在这里遇到 anaconda 遇到的错误。也许也可以分享我们可以提供帮助的需求文件。

标签: python django docker osmnx


【解决方案1】:

您必须使用-p 参数发布所需的端口。

docker run -p 8000:8000 gboeing/osmnx:latest

然后运行 ​​django app:

python manage.py runserver 0.0.0.0:8000

更多详情here

【讨论】:

【解决方案2】:

原来我在错误的conda 环境中只是在新容器osmnx 上安装FROM continuum/anaconda 我错过了这部分:

#
# to activate this environment, use
#
# conda activate ox
#
...
$(base) root@faa8a6b1c8d0:/# conda activate ox
$(ox) root@faa8a6b1c8d0:/# 

此外,gboeing/osmnx:latest 容器在我尝试访问的同一端口上有一个 jupyter 笔记本。

重新开始,现在就开始工作!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-13
    • 2020-05-23
    • 1970-01-01
    • 2016-04-10
    相关资源
    最近更新 更多