gpt4 book ai didi

docker - 无法从 Windows 主机访问 Rails 应用程序 docker 容器

转载 作者:行者123 更新时间:2023-12-02 18:55:59 25 4
gpt4 key购买 nike

我正在尝试制作一个简单的 docker 容器,该容器从我启动它的目录中运行 Rails 应用程序。

一切似乎都很好,除了当我运行容器并尝试从我的 Windows 主机上的 Docker 机器给我的 IP 地址访问它时,它会响应连接被拒绝的错误消息。

我什至使用了 Nginx Dockerfile 作为引用,因为 Nginx Dockerfile 实际上构建了一个可供我访问的容器。

到目前为止,这是我的 Dockerfile:

FROM ruby:2.3.1

RUN gem install rails && \
apt-get update -y && \
apt-get install -y nodejs


VOLUME ["/web_app"]
ADD . /web_app
WORKDIR /web_app

RUN bundle install

CMD rails s -p 80

EXPOSE 80

我使用此命令构建图像
docker build -t rails_server .

然后我使用这个命令运行它
docker run -d -p 80:80 rails_server

这是我尝试访问该网页的内容:
curl $(docker-machine ip)

这就是我得到的:
curl: (7) Failed to connect to 192.168.99.100 port 80: Connection refused

这就是它给我的感觉:

enter image description here

最佳答案

这里的问题似乎是应用程序正在监听 127.0.0.1:80,因此服务不会接受来自容器外部的连接。您能否检查修改 Rails 服务器以监听 0.0.0.0 问题是否解决?

您可以使用 -b rails s 的标志:

FROM ruby:2.3.1

RUN gem install rails && \
apt-get update -y && \
apt-get install -y nodejs


VOLUME ["/web_app"]
ADD . /web_app
WORKDIR /web_app

RUN bundle install

CMD rails s -b 0.0.0.0 -p 80

EXPOSE 80

关于docker - 无法从 Windows 主机访问 Rails 应用程序 docker 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38641182/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com