質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

解決済

DockerでRails6の環境を立ち上げたい

Phennek
Phennek

総合スコア0

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

1回答

0評価

0クリップ

38閲覧

投稿2020/03/15 10:11

前提・実現したいこと

Dockerを勉強しています。
既存のRailsアプリをDockerにのせようとしていたのですが、
下記のエラーが出てしまい自分で調べても分からないため誰かご存じの方がいらっしゃれば教えて頂きたいです。

発生している問題・エラーメッセージ

$ docker-compose upを打つと、以下のように表示されます。

teminal

$ docker-compose up Creating network "rails_basic_default" with the default driver Creating rails_basic_db_1 ... done Creating rails_basic_web_1 ... done Attaching to rails_basic_db_1, rails_basic_web_1 web_1 | /usr/bin/entrypoint.sh: line 8: execbash: command not found rails_basic_web_1 exited with code 127 db_1 | db_1 | PostgreSQL Database directory appears to contain a database; Skipping initialization db_1 | db_1 | 2020-03-15 09:30:49.682 UTC [1] LOG: starting PostgreSQL 12.2 (Debian 12.2-2.pgdg100+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit db_1 | 2020-03-15 09:30:49.683 UTC [1] LOG: listening on IPv4 address "0.0.0.0", port 5432 db_1 | 2020-03-15 09:30:49.684 UTC [1] LOG: listening on IPv6 address "::", port 5432 db_1 | 2020-03-15 09:30:49.692 UTC [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432" db_1 | 2020-03-15 09:30:49.823 UTC [25] LOG: database system was shut down at 2020-03-15 09:25:30 UTC db_1 | 2020-03-15 09:30:49.871 UTC [1] LOG: database system is ready to accept connections

web_1 | /usr/bin/entrypoint.sh: line 8: execbash: command not found

8行目のexecbashコマンドなんてないよ。と表示がされており、
ターミナルの別タブで、
docker-compose run web rake db:createを打つと

terminal

$ docker-compose run web rake db:create Starting rails_basic_db_1 ... done /usr/bin/entrypoint.sh: line 8: execrake: command not found

先ほどと同じようにコマンドがないと表示されます。

該当のソースコード

Dockerfile

FROM ruby:2.6.0 RUN apt-get update -qq && apt-get install -y nodejs postgresql-client RUN mkdir /Rails_basic WORKDIR /Rails_basic COPY Gemfile /Rails_basic/Gemfile COPY Gemfile.lock /Rails_basic/Gemfile.lock RUN bundle install COPY . /Rails_basic # Add a script to be executed every time the container starts. COPY entrypoint.sh /usr/bin/ RUN chmod +x /usr/bin/entrypoint.sh ENTRYPOINT ["entrypoint.sh"] EXPOSE 3000 # Start the main process. CMD ["rails", "server", "-b", "0.0.0.0"]

docker-compose.yml

version: '3' services: db: image: postgres volumes: - ./tmp/db:/var/lib/postgresql/data environment: POSTGRES_PASSWORD: 'postgres' web: build: . command: bash -c "rm -f tmp/pids/server.pid && bundle exec rails s -p 3000 -b '0.0.0.0'" volumes: - .:/Rails_basic ports: - "3000:3000" depends_on: - db

entrypoint.sh

#!/bin/bash set -e # Remove a potentially pre-existing server.pid for Rails. rm -f /Rails_basic/tmp/pids/server.pid # Then exec the container's main process (what's set as CMD in the Dockerfile). exec "$@"

補足情報(FW/ツールのバージョンなど)

上記のDokcerファイル群のソースコードはほぼDockerの公式を参考に書きました。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです