今回はDockerのインストール手順と、そこからRailsを立ち上げるまでの流れについて解説したいと思います。初めてDockerをインストールする際の参考になればと思います。
Dockerのインストール
まずはDockerのインストールから行っていきます。
以下のリンクからDockerのダウンロードページにアクセスし、「Get Docker」をクリックしましょう。Dockerのインストールが開始されるのでしばらく待ちます。
↓ ↓ ↓

正常にインストールが完了すると、Mac上部のタブ部分にクジラのアイコンが追加されるはずです。

ターミナルでもきちんとDockerがインストールされているか確かめてみます。
ホームディレクトリで「docker version」と打ち込み、以下のような出力結果が表示されればインストールが成功しています。
% docker version
Client: Docker Engine - Community
Cloud integration: 1.0.1
Version: 19.03.13
API version: 1.40
Go version: go1.13.15
Git commit: 4484c46d9d
Built: Wed Sep 16 16:58:31 2020
OS/Arch: darwin/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.13
API version: 1.40 (minimum version 1.12)
Go version: go1.13.15
Git commit: 4484c46d9d
Built: Wed Sep 16 17:07:04 2020
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: v1.3.7
GitCommit: 8fba4e9a7d01810a393d5d25a3621dc101981175
runc:
Version: 1.0.0-rc10
GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd
docker-init:
Version: 0.18.0
GitCommit: fec3683
これでDockerのインストールは完了です。
Railsの立ち上げ
では次にRailsを立ち上げてみましょう。
今回は複数のコンテナがあると想定するため、docker-composeというものを使用します。docker-composeを使用するにはdocker-compose.ymlというものが必要になってきます。
docker-compose.ymlには、ポート番号やオプションなどコンテナを起動するために必要な情報を記述するだけでなく、ネットワーク設定やボリュームの設定も記載することができます。
# docker-compose.ymlの記述例
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
links:
- redis
redis:
image: redis
参考: https://docs.docker.com/compose/compose-file/
Railsのアプリケーションディレクトリに進み、以下のコマンドを打ち込みましょう。
% docker-compose run app rails db:create
Created database 'データベース名_development'
Created database 'データベース名_test'
% docker-compose run app rails db:migrate
続いてRailsのサーバーを立ち上げます。
VSコードで「Remote-Containers」と検索し、インストールを実行してください。

インストールが完了したらVSコード内で「Command + Shift + P」を押し、コマンドパレットを開きます。そこで「Remote-Containers: Open Folder in Container」を入力、選択します。

しばらくすると、DEV Containerと呼ばれるものが立ち上がります。これでDocker内部の開発環境(リモート環境)にVSコードからアクセスできました。これは実質、Railsが立ち上がったことと同じ意味になります。
手順まとめ
- Dockerのインストール
- docker-compose run app rails db:create
- docker-compose run app rails db:migrate
- VSコードでRemote-Containersのインストール
- 「Command + Shift + p」で「Remote-Containers: Open Folder in Container」を入力
参考
- docker docs: https://docs.docker.com/
- Overview of Docker Compose: https://docs.docker.com/compose/
- Docker入門(第六回)〜Docker Compose〜: https://knowledge.sakura.ad.jp/event-seminar/
- DockerをMacにインストールする: https://qiita.com/kurkuru/items/127fa99ef5b2f0288b81
今回はDockerのインストール手順と、そこからRailsを立ち上げるまでの流れについて解説しました。Dockerのインストールのみであればとても簡単な作業なので、ぜひチャレンジしてみてください。