3
3

More than 3 years have passed since last update.

[初心者]DockerによるRails環境の構築(Windows)

Last updated at Posted at 2019-12-19

初心者向けのDockerによるRails環境の構築です。
また、OSはWindowsです。

Windowsユーザーは、この環境構築の段階でとても苦しみますよね:sob:
私もとても時間がかかりました......

この記事がそういった方々の参考になれたら嬉しいです:v:

目次

Docker for Windowsのインストール

Dockerの公式サイトURL https://www.docker.com

以下の順に進める。

1.Product
2.GET DOCKER COMMUNITY EDITION
3.下にスクロール
4.DOCKER FOR WINDOWSのDownloud from Docker Store
5.Get Docker
6.実行>アイコン実行>
7.PowerShellで$ docker -vで確認
8.$ docker run hello-worldを実行
9.>Hello from Docker!と表示されればOK! :innocent:

Docker Toolboxのインストール

Docker ToolboxのダウンロードページURL
https://docs.docker.com/toolbox/toolbox_install_windows

1.Get Docker Toolbox for Windows > 実行 > VB||Gitはあるなら無視
2.\next > install > DQTを実行 > 待つ > $ docker -vで確認
3.$ docker run hello-worldを実行
4.>Hello from Docker!と表示されればOK! :innocent:

Rails開発環境構築用ファイル

docker-compose.yml
version: '3'
services:
  web:
    build: .
    command: bundle exec rails s -p 3000 -b '0.0.0.0'
    volumes:
      - .:/app
    ports:
      - 3000:3000
    depends_on:
      - db
    tty: true
    stdin_open: true
  db:
    image: mysql:5.7
    volumes:
      - db-volume:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: password
volumes:
  db-volume:

Dockerfile
FROM ruby:2.4.5
RUN apt-get update -qq && apt-get install -y build-essential nodejs
RUN mkdir /app
WORKDIR /app
COPY Gemfile /app/Gemfile
COPY Gemfile.lock /app/Gemfile.lock
RUN bundle install
COPY . /app

修正箇所)Dockerfile/ruby:2.4.5←任意のバージョンで

Docker Toolboxをお使いの場合の注意点

IPアドレスを確認するには、ターミナル(コマンドプロンプトなど)で次のコマンドを実行します。
$ docker-machine ip default
このコマンドの結果表示されたIPアドレスが、Docker Toolboxで動かしている仮想マシンのIPアドレスになります。
Docker Toolboxをお使いの場合は、このIPアドレスを使用して
http://<確認したIPアドレス>:3000
のようにアクセスしてください。

Railsの環境構築

docker-compose.ymlファイルの置いてあるディレクトリで実行。

1.Railsのコンテナを起動してRailsのプロジェクトを作成するコマンド
$ docker-compose run web rails new . --force --database=mysql

2.Railsイメージのビルド実行コマンド
$ docker-compose build

3.config/database.ymlの修正内容

default内の項目を修正
password: password
host: db

4.コンテナをデタッチドモード(バックグラウンド)で実行するコマンド
$ docker-compose up -d

5.RailsのコンテナでDB作成のタスクを実行するコマンド
$ docker-compose run web bundle exec rake db:create

3
3
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
3
3