##実現したいこと
Dockerのコンテナ内でVSCodeを動かして、Railsアプリを開発したい
##できたこと
Remote - Containers
の拡張機能を使い、Dockerのコンテナ内でVSCodeを開くbin/rspec
で、コンテナ内でテストを走らせる
##問題点
ブラウザでhttp://127.0.0.1:3000/
やhttp://0.0.0.0:3000/
にアクセスしてもページにアクセスできない。
// chromeに表示されるメッセージ このページは動作していません 127.0.0.1 からデータが送信されませんでした。 ERR_EMPTY_RESPONSE 再読み込み
##試したこと
terminal
1root@12345abc:/workspace# bin/rails s -b 0.0.0.0 2 3=> Booting Puma 4=> Rails 6.0.2.1 application starting in development 5=> Run `rails server --help` for more startup options 6A server is already running. Check /workspace/tmp/pids/server.pid. 7Exiting
terminal
1root@12345abc:/workspace# rm /workspace/tmp/pids/server.pid 2 3root@12345abc:/workspace# rails s 4=> Booting Puma 5=> Rails 6.0.2.1 application starting in development 6=> Run `rails server --help` for more startup options 7Puma starting in single mode... 8* Version 4.3.3 (ruby 2.6.5-p114), codename: Mysterious Traveller 9* Min threads: 5, max threads: 5 10* Environment: development 11* Listening on tcp://127.0.0.1:3000 12Use Ctrl-C to stop
127.0.0.1:3000
や0.0.0.0:3000
にアクセス→結果は変わらず
##環境
macOS X Mojave 10.14.5
Docker Desktop 2.1.0.4
Visual Studio Code 1.43.0
Remote - Containers 0.107.0
Ruby 2.6.5
Rails 6.0.2
##ファイル
yml
1#/docker-compose.yml 2version: '3' 3services: 4 db: 5 image: postgres 6 volumes: 7 - psgl_data:/var/lib/postgresql/data 8 environment: 9 POSTGRES_USER: root 10 POSTGRES_PASSWORD: password 11 ports: 12 - 5433:5432 13 web: 14 build: 15 context: . 16 dockerfile: Dockerfile 17 command: /bin/sh -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'" 18 tty: true 19 stdin_open: true 20 depends_on: 21 - db 22 ports: 23 - "3000:3000" 24 volumes: 25 - .:/app_name 26volumes: 27 psgl_data:
Dockerfile
1#/Dockerfile 2FROM ruby:2.6.5 3 4RUN apt-get update -qq && apt-get install -y nodejs postgresql-client 5RUN apt-get update && apt-get install -y curl apt-transport-https wget && \ 6curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \ 7echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list && \ 8apt-get update && apt-get install -y yarn 9 10RUN mkdir /app_name 11ENV APP_ROOT /app_name 12WORKDIR $APP_ROOT 13 14ADD ./Gemfile $APP_ROOT/Gemfile 15ADD ./Gemfile.lock $APP_ROOT/Gemfile.lock 16 17RUN gem install bundler 18RUN bundle install 19ADD . $APP_ROOT
yml
1#/.devcontainer/docker-compose.yml 2version: '3' 3services: 4 web: 5 volumes: 6 - .:/workspace:cached 7 command: /bin/sh -c "while sleep 1000; do :; done"
json
1//.devcontainer/devcontainer.json 2{ 3 "name": "Existing Docker Compose (Extend)", 4 "dockerComposeFile": [ 5 "../docker-compose.yml", 6 "docker-compose.yml" 7 ], 8 "service": "web", 9 "workspaceFolder": "/workspace", 10 11 "settings": { 12 "terminal.integrated.shell.linux": null 13 }, 14 15 "extensions": [] 16} 17
他に必要な情報がございましたらご指摘ください。
よろしくお願いいたします。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/13 00:18