2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?