为什么无法连接到 Windows 10 上的本地 docker-compose 容器?

2023-12-30

我正在尝试对一个 Python 应用程序进行 dockerize,我一直在关注该应用程序本教程 https://realpython.com/blog/python/dockerizing-flask-with-compose-and-machine-from-localhost-to-the-cloud/。该教程是 2015 年 4 月的,仍然使用 Docker Machine,从这个答案 https://stackoverflow.com/a/38624540/1814949,不再需要在 Windows 上本地运行 Docker 容器。

我之前让它与 Docker Machine 一起工作,并且能够看到 Web 应用程序并与其交互。但现在我试图在没有 Docker Machine 的情况下在 Windows 10 上使用 Docker 版本 17.06.0-ce、内部版本 02c1d87 来实现此功能。

这是docker-compose.yml:

web:
  restart: always
  build: ./web
  expose:
    - "8000"
  links:
    - postgres:postgres
  volumes:
    - /usr/src/app/static
  env_file: .env
  command: /usr/local/bin/gunicorn -w 2 -b :8000 app:app

nginx:
  restart: always
  build: ./nginx/
  ports:
    - "80:80"
  volumes:
    - /www/static
  volumes_from:
    - web
  links:
    - web:web

data:
  image: postgres:latest
  volumes:
    - /var/lib/postgresql
  command: "true"

postgres:
  restart: always
  image: postgres:latest
  volumes_from:
    - data
  ports:
    - "5432:5432"

我启动了容器:

$ docker-compose up -d
Creating polly_data_1 ...
Creating polly_data_1 ... done
Creating polly_postgres_1 ...
Creating polly_postgres_1 ... done
Creating polly_web_1 ...
Creating polly_web_1 ... done
Creating polly_nginx_1 ...
Creating polly_nginx_1 ... done

然后,当我跑步时docker ps,它显示以下三个容器正在运行:

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
9b2c1048f3a5        polly_nginx         "/usr/sbin/nginx"        4 seconds ago       Up 3 seconds        0.0.0.0:80->80/tcp       polly_nginx_1
d561ac5b901a        polly_web           "/usr/local/bin/gu..."   5 seconds ago       Up 4 seconds        8000/tcp                 polly_web_1
ecb029d6ec3a        postgres:latest     "docker-entrypoint..."   7 seconds ago       Up 5 seconds        0.0.0.0:5432->5432/tcp   polly_postgres_1

(此时,导航至http://localhost:8000/在 Chrome 中已经产生了ERR_CONNECTION_REFUSED.)

然后,我按照教程运行脚本来设置数据库(额外//因为我在 Windows 10 上使用 Git Bash):

$ docker-compose run web ///usr/local/bin/python create_db.py
Starting polly_data_1 ...
Starting polly_data_1 ... done
Starting polly_postgres_1 ... done

现在当我跑步时docker ps,它显示以下四个容器正在运行:

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                  PORTS                    NAMES
a129c12f5982        polly_web           "//usr/local/bin/p..."   5 seconds ago       Up Less than a second   8000/tcp                 polly_web_run_1
9b2c1048f3a5        polly_nginx         "/usr/sbin/nginx"        16 seconds ago      Up 15 seconds           0.0.0.0:80->80/tcp       polly_nginx_1
d561ac5b901a        polly_web           "/usr/local/bin/gu..."   17 seconds ago      Up 16 seconds           8000/tcp                 polly_web_1
ecb029d6ec3a        postgres:latest     "docker-entrypoint..."   19 seconds ago      Up 17 seconds           0.0.0.0:5432->5432/tcp   polly_postgres_1

And localhost:8000仍然拒绝连接。 Web 容器公开端口 8000,所以我不明白为什么无法连接到它。

我怎样才能让它工作,以便我可以访问网络应用程序web本地容器?


只是改变:

expose:
  - "8000"

By

ports:
  - "8000:8000"

Btw http://本地主机:80 http://localhost:80不管用?

Regards

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么无法连接到 Windows 10 上的本地 docker-compose 容器? 的相关文章

随机推荐

  • onClick 使用 jQuery .animate 转到页面底部

    我有一个表 其中最后一列包含操作按钮 可在表下打开另一个部分 当该部分打开时 正文页面保留在按下操作列中的按钮的位置 我需要使用 jQuery 最好使用 animate 它将 html 页面滚动到表格下打开的部分 小提琴示例 http js
  • 如何在PHP中输出简单的ascii表?

    我有一些数据 例如 Array 0 gt Array a gt largeeeerrrrr b gt 0 c gt 47 d gt 0 1 gt Array a gt bla b gt 1 c gt 0 d gt 0 2 gt Array
  • 在 VB6 IDE 中工作时卸载 COM 控件

    我日常工作的一部分是维护和扩展遗留的 VB6 应用程序 通用引擎是用 C C 编写的 VB6 使用这些函数来提高性能 当谈到异步编程时 C 接口是不够的 我们依靠 COM 控件来向 VB6 触发事件 我的问题是 当我在 VB6 中注册该控件
  • 如何区分缺少的反序列化字段和空字段?

    我想用Serde https serde rs 将一些 JSON 解析为 HTTP PATCH 请求的一部分 由于 PATCH 请求不传递整个对象 仅传递要更新的相关数据 因此我需要能够区分未传递的值和显式设置为的值null 以及存在的值
  • 使用 Office 365 登录/凭据作为单点登录

    我可以使用 Office 365 登录 凭据作为单点登录吗 实际上 我需要使用 Office 365 登录详细信息登录我的 Web 应用程序 此外 我想在我的 Web 应用程序中使用以下 url 凭据进行单点登录 https portal
  • 通用相关类型可能寿命不够长

    采取以下示例 feature generic associated types allow incomplete features trait Produce type CustomError lt a gt fn produce lt a
  • 为什么 UINavigationBar 背景图像重复?

    图像尺寸为 640 X 44 适用于 iPad 肖像 由于某种原因 它显示为图案图像而不是拉伸的 iOS 6 尝试以下方法来拉伸图像 load the background image navbar png UIImage imageNav
  • Laravel 5.4,重命名用户表列

    所以今天我尝试修改我的 laravel 项目中的默认身份验证 首先 Composer 1 4 2 和 Laravel 5 4 27 也意味着所有依赖项 都是最新的 我用以下方法验证了这一点 composer self update comp
  • 专为 iOS7 设计的 Storyboard 在 4 英寸设备上的 iOS 6 上无法全屏显示

    我正在设计我的 iPhone 应用程序storyboard and auto layout 一切正常iOS 7在 4 英寸和 3 5 英寸设备上 On iOS 6 1该应用程序始终在 3 5 英寸设备上运行 即使在 4 英寸设备上运行 也会
  • kubernetes pod 内存 - java gc 日志

    在 kubernetes 仪表板上 有一个 pod 其中内存使用情况 字节 显示为904 38Mi 该 Pod 包含运行的 Java 应用程序 Xms512m Xmx1024m 以及 kubernetes 部署文件 gt requests
  • 动画 CALayer 背景颜色并更新模型值

    我想要制作动画backgroundColor更改我的 UIView 中的子层 在tintColorDidChange 我需要多次从图层的当前背景颜色到新的色调颜色进行动画处理 每次使用不同的色调颜色 因此背景颜色的模型值需要更新 我不能使用
  • 如何在兼容浏览器的 JavaScript 中撤消和重做事件?

    我有一个 T 恤定制设计软件工具 必须为可拖动的文本添加重做和撤消事件 http wordpress tshirtecommerce com design online product id 17 http wordpress tshirt
  • PDF 文本和坐标解析 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我目前正在使用 PDF Box 来解析 pdf 并试图弄清楚如何检索有关文本的数据 例如字体 粗体 大
  • 除非以管理员身份运行,否则 stack ghci 无法加载 pthread

    当我跑步时stack ghci在一个全新的项目上 它无法加载 stack new repro simple Downloading template simple to create project repro in repro 省略附加输
  • Spark 2.2.0 - 如何将 DataFrame 写入/读取 DynamoDB

    我希望我的 Spark 应用程序从 DynamoDB 读取表 执行操作 然后将结果写入 DynamoDB 将表读入 DataFrame 现在 我可以将表从 DynamoDB 读入 SparkhadoopRDD并将其转换为 DataFrame
  • 为什么编译器将此变量初始化为错误的值?这是对齐问题吗?

    我正在使用嵌入式 C 编译器 ARM cortex m3 芯片 它似乎将错误的值初始化为结构 为什么会出现这种情况 如果是对齐问题 编译器不应该知道将 int32u 与 4 字节边界对齐吗 注意 printf 只是将字节从串行端口中抛出 该
  • 公证节点查询数据和普通节点查询交易

    我有一个关于查询数据的问题 Corda中有没有办法查询公证节点存储的所有数据以及如何查询其他节点中的交易 在 Corda 中 每个节点都有自己的数据库支持 该数据库仅存储节点知道的交易 出于隐私原因 节点无法查询其他节点的数据库 相反 您必
  • Wordpress 上出现错误“您无权将文件附加到此帖子”

    When non admin users upload media They get the following error 我检查过的事情 wp content uploads 及其所有子文件夹的权限为 755 Core capabili
  • 模板类的不同专业化的向量

    由于我一直在 C 中使用模板 所以经常遇到这个问题 我想在向量中收集模板类的不同版本的实例 我知道这不可能直接实现 但我想知道是否有一些解决方法可以实现这一点 例如 如果我有这样的模板化类 enum test e TYPE A TYPE B
  • 为什么无法连接到 Windows 10 上的本地 docker-compose 容器?

    我正在尝试对一个 Python 应用程序进行 dockerize 我一直在关注该应用程序本教程 https realpython com blog python dockerizing flask with compose and mach