ruby-on-rails - 在 Docker 容器上的 Rails 应用程序上出现错误“无法打开到 localhost:35729 的 TCP 连接”
问题描述
当我通过工头启动我的 Docker 容器上的 Rails 本地服务器时,我收到一条错误消息“无法打开与 localhost:35729 的 TCP 连接(无法分配请求的地址 - connect(2) 用于“localhost”端口 35729)”。我试图访问“localhost:5000”上的服务器。rails 服务器配置为托管在 localhost 的端口 5000 上。
至于 docker 容器,我通过运行 docker 命令从图像启动它
docker run -it --name <my-container-name> -p 5000:5000 -p 35729:35729 -v <host_project-directory>:/home <image-name> /bin/bash
为了将 docker 容器上的端口 35729 与主机的端口 35729 绑定。端口 5000 是这个 rails 应用程序配置为运行本地服务器的地方,所以我也将它与主机绑定。
我还通过启动容器并运行确认端口已绑定到本地计算机
docker port <my-container-name>
这给了我
35729/tcp -> 0.0.0.0:35729
5000/tcp -> 0.0.0.0:5000
所以我猜这不是端口绑定的问题。
为什么即使端口在 Docker 容器上打开并绑定到主机,我也会收到此错误消息?我很感激能够从主机连接到容器上运行的本地服务器的任何建议。
注:Rails 版本:4.2.11.1 Docker 容器:Debian GNU/Linux 9
解决方案
推荐阅读
- gcloud - gsutil ConfigParser.ParsingError:文件包含解析错误
- vaticle-typedb - Grakn & Graql 中是否有任何复杂的应用示例?
- java - 如何使用 Vaadin 标签从另一个类打印 arrayList?
- java - 将几个 JPA 注释组合成一个
- java - 文件路径(变量类型)的处理/Java 文件计数问题
- sql - 具有多个根的 Oracle 分层查询将子项作为根返回
- javascript - JavaScript 中的 Zk-Snarks 库
- javascript - 无法为博览会安装 UI 工具包
- python - 使用python使用MS Word打开pdf文件时如何抑制“Microsoft PDF Reflow已停止工作”错误?
- android - 为应用程序中的所有活动应用 android:excludeFromRecents