小编E. *_*des的帖子

无法将请求发送到使用 docker 和 docker-compose 运行的 sinatra 应用程序

你能告诉我我的 Dockerfile 或 docker-compose 有什么问题吗?

# Dockerfile

FROM ruby:2.5.0

RUN apt-get update -qq && apt-get install -y build-essential

ENV APP_HOME /app
RUN mkdir $APP_HOME
WORKDIR $APP_HOME

ADD Gemfile* $APP_HOME/
RUN bundle install

ADD . $APP_HOME


# docker-compose.yml

version: '3'

services:
 db:
  image: mongo
  volumes:
    - $HOME/data/mongodb:/data/db
  ports:
    - "27017:27017"

web:
 build: .
 command: rackup config.ru --port 4567
 volumes:
   - .:/app
 ports:
   - "4567:4567"
 depends_on:
   - db
Run Code Online (Sandbox Code Playgroud)

如果我直接使用“rackup”命令运行应用程序,它效果很好。当我通过“docker-compose up”命令运行容器时,问题就开始了,它停止通过“localhost:4567”接受请求。我无法发现问题,这就是我寻求帮助的原因。

这是来自“docker-compose up”的日志,以防万一。

Starting tracker_db_1 ... done
Recreating tracker_api_1 ... done
Attaching to …
Run Code Online (Sandbox Code Playgroud)

ruby sinatra mongodb docker docker-compose

3
推荐指数
1
解决办法
589
查看次数

标签 统计

docker ×1

docker-compose ×1

mongodb ×1

ruby ×1

sinatra ×1