使用しているDockerfileとDocker-compose.ymlは以下の通りです。
少しDockerfileを弄って再buildやらなんやらしてたのですがそれは取りやめにして以前の状況に戻した後に発生しました。
以前は同じファイルを使用していたのですがすぐに終了してしまうなんてことはありませんでした。
試したこと
・docker-compose buildの実行(もちろんファイルを戻した状態で)
・docker logsでエラーの確認(mysqlのエラーしか吐いておりませんでした)
以前もこのような状態になったのですがその際はDockerfileにCMD rails s ~~~を記述していたのをdocker-composeのcommandに移してtmp/pids/server.pidの削除を行う(以下のファイルを見ていただければわかるかと思います)という方法で解決できました。
今回は原因が分からず、アドバイスを頂けると幸いです。
よろしくお願いします。
Dockerfile
1FROM ruby:2.4.0 2 3ENV APP_ROOT /usr/src/appname 4 5WORKDIR $APP_ROOT 6 7RUN printf "deb http://archive.debian.org/debian/ jessie main\ndeb-src http://archive.debian.org/debian/ jessie main\ndeb http://security.debian.org jessie/updates main\ndeb-src http://security.debian.org jessie/updates main" > /etc/apt/sources.list 8RUN apt-get update && \ 9 apt-get install -y nodejs \ 10 mysql-client \ 11 --no-install-recommends && \ 12 rm -rf /var/lib/apt/lists/* 13 14COPY Gemfile $APP_ROOT 15COPY Gemfile.lock $APP_ROOT 16 17RUN \ 18 echo 'gem: --no-document' >> ~/.gemrc && \ 19 cp ~/.gemrc /etc/gemrc && \ 20 chmod uog+r /etc/gemrc && \ 21 bundle config --global build.nokogiri --use-system-libraries && \ 22 bundle config --global jobs 4 && \ 23 bundle install && \ 24 rm -rf ~/.gem 25 26COPY . $APP_ROOT 27 28EXPOSE 3000 29
docker
1version: '2' 2services: 3 app: 4 build: . 5 command: /bin/sh -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'" 6 environment: 7 RAILS_ENV: development 8 DATABASE_URL: mysql2://root:password@mysql:3306 9 MYSQL_ROOT_PASSWORD: 'password' 10 ports: 11 - '3000:3000' 12 volumes: 13 - .:/usr/src/appname 14 links: 15 - mysql 16 mysql: 17 image: mysql:5.7 18 environment: 19 MYSQL_ROOT_PASSWORD: 'password' 20 ports: 21 - '3306:3306' 22 volumes: 23 - mysql-data:/var/lib/mysql 24 chrome: 25 image: selenium/standalone-chrome:3.141.59-dubnium 26 ports: 27 - 4444:4444 28volumes: 29 mysql-data: 30 driver: local
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。