

現在Docker環境でRuby on rails の開発をしているのですが、突然localhostへの接続ができなくなりました。

[code]

    $ curl localhost:3000
    curl: (7) Failed to connect to localhost port 3000: Connection refused
    
[/code]

下記、環境情報になります。

OS：macOS Sierra 10.12.6  
Docker version 18.06.1-ce, build e68fc7a

docker-compose.yml

[code]

    version: "3"
    
    services:
      web:
        build: web
        ports:
          - "3000:3000"
        environment:
          - "DATABASE_HOST=db"
          - "DATABASE_PORT=5432"
          - "DATABASE_USER=＊＊＊＊＊＊＊＊"
          - "DATABASE_PASSWORD=＊＊＊＊＊＊＊＊"
        links:
          - db
        volumes:
          - "./app:/app" #共有フォルダの設定
        stdin_open: true
    
      db:
        image: postgres:10.1
        ports:
          - "5432:5432"
        environment:
          - "POSTGRES_USER=＊＊＊＊＊＊＊＊"
          - "POSTGRES_PASSWORD=＊＊＊＊＊＊＊＊"
    
[/code]

Dockerfile

[code]

    FROM ruby:2.5.0
    
    RUN apt-get update && apt-get install -y build-essential libpq-dev postgresql-client
    RUN gem install rails
    RUN mkdir /app
    WORKDIR /app
    
[/code]

原因について心当たりがある方がおりましたらご教示いただけるとありがたいです。  
よろしくお願いいたします。

追記：  
Docker側のポートのフォワードは正常であるため、Rails側に問題があると思われます。

[code]

    $ docker-compose ps
         Name                    Command              State           Ports
    --------------------------------------------------------------------------------
    db_1        docker-entrypoint.sh postgres   Up      0.0.0.0:5432->5432/tcp
    web_1       irb                             Up      0.0.0.0:3000->3000/tcp
    
[/code]


CC BY-SA 4.0
2018-11-10T08:49:11.527
50165
2019-05-13T04:06:50.990
2018-11-10T16:14:47.827
12252
12252
question
ruby-on-rails macos docker docker-compose docker-for-mac
Docker環境でlocalhostに接続できない


`web_1`のコンテナがirbで立ち上がってますけど、サーバは動いているのでしょうか.  
PumaなりWEBrickなり.

`docker-compose.yml`に`command`を追加してはどうでしょうか.

[code]

    web:
        build: web
        ports:
          - "3000:3000"
        command: ["bundle", "exec", "rails", "s", "-p", "3000", "-b", "0.0.0.0"]
        ...
    
[/code]

サーバが動いているなら、そのログを見せてください


CC BY-SA 4.0
2018-11-10T16:47:20.873
50183
2018-11-10T16:47:20.873
7733
50165
answer