在 Docker 容器中访问 Sinatra 应用程序时出现问题
Issues accessing Sinatra app in Docker container
我有一个 sinatra API 服务器,我可以 运行 在本地端口 9292 上成功 运行 我想 运行 在一个容器中。
我使用以下内容创建了一个 Docker 文件:
FROM ruby:2.2.0
RUN apt-get update -qq && \
apt-get install -y build-essential libpq-dev nodejs --no-install-recommends && \
rm -rf /var/lib/apt/lists/* && \
mkdir /myapp
WORKDIR /myapp
ADD . /myapp
RUN bundle install
EXPOSE 9292
CMD bundle exec rackup config.ru
构建映像后,我 运行 使用以下命令启动容器:docker run -it -p 9292:9292 --rm api-server
我确认该应用已启动并且 运行正在运行,并提供了更多详细信息:
Listening on localhost:9292, CTRL+C to stop
尽管如此,我无法return 从服务器获取任何结果。关于为什么我无法访问容器的任何想法?我 运行宁 Ubuntu 15.10 与 Docker 1.9.1
我能够通过在我的瘦服务器上将主机指定为 0.0.0.0 来解决这个问题。我的 Dockerfile 命令现在如下所示:CMD bundle exec rackup -o 0.0.0.0 -p 9292 config.ru
我有一个 sinatra API 服务器,我可以 运行 在本地端口 9292 上成功 运行 我想 运行 在一个容器中。
我使用以下内容创建了一个 Docker 文件:
FROM ruby:2.2.0
RUN apt-get update -qq && \
apt-get install -y build-essential libpq-dev nodejs --no-install-recommends && \
rm -rf /var/lib/apt/lists/* && \
mkdir /myapp
WORKDIR /myapp
ADD . /myapp
RUN bundle install
EXPOSE 9292
CMD bundle exec rackup config.ru
构建映像后,我 运行 使用以下命令启动容器:docker run -it -p 9292:9292 --rm api-server
我确认该应用已启动并且 运行正在运行,并提供了更多详细信息:
Listening on localhost:9292, CTRL+C to stop
尽管如此,我无法return 从服务器获取任何结果。关于为什么我无法访问容器的任何想法?我 运行宁 Ubuntu 15.10 与 Docker 1.9.1
我能够通过在我的瘦服务器上将主机指定为 0.0.0.0 来解决这个问题。我的 Dockerfile 命令现在如下所示:CMD bundle exec rackup -o 0.0.0.0 -p 9292 config.ru