

dockerを用いてrailsアプリケーションを開発しようとしているところです。

docker-compose run web rails db:migrate  
を実行しデータベースが作成されたことまでは確認できましたがlocalhost:3000へアクセスをしたところ、以下のように表示されました。

[code]

    このページは動作していませんlocalhost からデータが送信されませんでした。
    ERR_EMPTY_RESPONSE
    
[/code]

想定として、railsアプリケーションのデフォルトページが表示されることを期待しております。

どなたかアドバイスをいただけたらと思います。

* * *

**docker-compose.yml**

[code]

    version: '3'
    services:
      db:
        image: postgres
        environment:
          POSTGRES_USER: 'postgresql'
          POSTGRES_PASSWORD: 'postgresql-pass'
        restart: always
      web:
        build: .
        command: bundle exec rails s -p 3000 -b '0.0.0.0'
        volumes:
          - .:/myapp
        ports:
          - "3000:3000"
        depends_on:
          - db
    
[/code]

**Dockerfile**

[code]

    FROM ruby:2.3.3
    RUN apt-get update -qq && apt-get install -y build-essential libpq-dev nodejs
    RUN mkdir /myapp
    WORKDIR /myapp
    COPY Gemfile /myapp/Gemfile
    COPY Gemfile.lock /myapp/Gemfile.lock
    RUN bundle install
    COPY . /myapp
    
[/code]

* * *

**試したこと**

`http://0.0.0.0:3000` でアクセス → 変化なし

`http://127.0.0.1:3000` でアクセス → 変化なし

`docker-compose run web rails s` すでに存在していた

`docker-compose exec web bash` にて仮想環境に入り下記コマンドを打ったところ  
標準のHTMLファイルが取得できたため、仮想環境内だと正常に動作しているようです。

[code]

    curl localhost:3000
    
    〜〜〜
     <h1>Yay! You&rsquo;re on Rails!</h1>
    〜〜〜
    
[/code]


CC BY-SA 4.0
2020-04-26T02:06:11.277
65970
2022-04-19T08:05:20.490
2020-04-26T07:14:10.610
3060
39658
question
ruby-on-rails docker docker-compose
Rails + docker-compose localhostへアクセスができない


swarmクラスタを別で構築しておりそれが邪魔していました。  
docker swarm leave --force コマンドでswarmクラスタから抜けて再度docker up
-dを実行したところ正常に動作いたしました。


CC BY-SA 4.0
2020-04-26T15:31:27.870
66003
2020-04-26T15:31:27.870
39658
65970
answer