くまのプログラミング日記

日々の学習メモ

Docker ComposeでRailsを構築

はじめに

Docker-composeでRail環境を構築してみようとした時に行った作業用メモです。 逐次アップデートしていく予定です。

参考

youtu.be

www.techpit.jp

基本操作

イメージのビルド

docker-compose build

コンテナの作成と起動

docker-compose up -d

Dockerfileを更新した時に再度ビルドを行う場合

docker-compose up --build

コンテナを停止・削除

docker-compose down

その他よく使う操作

コンテナの一覧を表示

docker-compose ps

ログを表示

docker-compose logs

コンテナを作成してコマンド実行

docker-compose run<サービス><コマンド>

起動中のコンテナにコマンド実行

docker-compose exec<サービス><コマンド>

全体の流れ

1.Docker関連のファイルを用意

2.初期設定

3.起動

4.追加操作

1.Docker関連のファイルを用意

Dockerfile

Gemfile

Gemfile.lock

docker-compose.yml

2.初期設定

rails newで雛形を作成

docker-compose run web rails new . --force --database=mysql

Dockerイメージを再ビルド

GemfileやDockerfileが新しくなったり変更がある場合はイメージを再ビルドする必要がある

docker-compose build 

データベースの設定

接続先情報を修正

configディレクトリ内のdatabase.ymlを修正する

passwordはMYSQL_ROOT_PASSWORD環境変数の"password" hostはMySQLサーバのコンテナのサービス名である"db"

修正後

default: &default
  adapter: mysql2
  encoding: utf8
  pool: 5
  username: root
  password: password
  host: db

##railsサーバーの起動とDBサーバーの起動

docker-compose up -d

##データベースの作成

docker-compose run web bundle exec rake db:create

bundle exec rakeの部分は、Rails環境にインストールされておりrakeコマンドを実行している。rake db:createでRailsで使用するDBをMysqlサーバ上に作成

localhost:3000で確認

f:id:BruinKuma:20210225235831p:plain

3.開発環境の起動・停止・削除

docker-compose up -d
docker-compose stop
docker-compose down

4.追加操作

トラブルシュート

qiita.com

qiita.com

qiita.com