2
1

More than 1 year has passed since last update.

【Rails 】Dockerで使用したコマンド集

Posted at

用語

名称 説明
Dockerエンジン Dockerにおいてコンテナ型仮想化を実現するためのコア
Dockerコンテナ Dockerイメージをもとに作成されるコンテナ型仮想環境
Dockerイメージ Dockerコンテナ作成時に必要な雛形となるもの。できたアプリケーションをイメージとして保存して、別のサーバーでも同じ環境を再現できる。
Dockerfile Docker イメージをビルドする為の手順を記載するファイル

コマンド

Dockerコンテナの起動、構成、Dockerイメージの作成まで一気に実行+(Gemfile変更時)

docker-compose build

コンテナ起動

docker-compose up

#バックグラウンドでコンテナ起動
docker-compose up -d

コンテナ停止

docker-compose stop

コンテナ削除

docker-compose down

コンテナ再起動

docker-compose restart

全てのログ表示

docker-compose logs

コンテナ一覧を表示

docker ps
docker ps -a  #停止中も含めたコンテナ一覧表示

イメージ一覧を表示

docker images

イメージの取得

docker pull イメージ名[:タグ名]

イメージ削除

docker rmi イメージ_id 
docker rmi -f イメージ_id   #強制削除

コンテナ削除

docker rm コンテナ_id

Rails コマンド

モデル作成

docker-compose run web bundle exec rails g model モデル名 カラム名

マイグレーション実行

docker-compose exec web bundle exec rake db:migrate

コントローラー作成

docker-compose exec web rails g controller コントローラー名

データベース削除

docker-compose run web bundle exec rake db:drop

ロールバック(1つ前に戻る)~STEPで指定可

docker-compose run web bundle exec rake db:rollback
docker-compose run web bundle exec rake db:rollback STEP=○

データベースリセット

docker-compose run web bundle exec rake db:migrate:reset

シード

docker-compose run web bundle exec rake db:seed

ルーティング確認

docker-compose run web bundle exec rake routes

binding pry

docker attach コンテナ名_web_1  #アタッチ

#アタッチしたコンテナから抜ける
Ctrl+P, Ctrl+Q 

Rspec(Gemfile記述後)

docker-compose run web bundle exec rails g rspec:install

docker-compose exec web bundle exec rails g rspec:model モデル名

docker-compose exec web bundle exec rspec -f d spec/models/モデル名_spec.rb   #ドキュメント形式で表示

Docker Hubにログイン

docker login 

イメージタグ設定

docker tag イメージ名 ユーザー名/イメージ名:タグ名
docker tag sample_web taro/sample_web:ver1

dockerコミット

docker commit コンテナ名 またはコンテナID イメージ名:タグ名

dockerプッシュ

docker push ユーザー名/イメージ名:タグ名
docker push taro/sample_web:ver1 

MySQL

docker-compose ps  #起動中のコンテナ名確認

docker exec -it DBコンテナNAME  bash  #DBコンテナに入る

mysql -u root -p  #mysqlへ接続(パスワードはdocker-compose.ymlに記載したもの)
Enter password: 

show databases;  #データベース確認

use データベ-ス名;  #使用したいデータベースに切り替え

show tables;  #テーブル確認

describe テーブル名複数系;  #テーブルの構造確認

select * from テーブル名複数系;  #テーブルの中身確認 

起動時にエラーが出た場合、サーバーpidが残っている場合(exit1が発生)

=> Booting Puma
web_1 | => Rails 5.0.0.1 application starting in development on http://0.0.0.0:3000
web_1 | => Run rails server -h for more startup options
web_1 | A server is already running. Check /app/tmp/pids/server.pid.
web_1 | Exiting

rm -f tmp/pids/server.pid
2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1