はじめに
学習で使用する為、DockerでRails環境を構築した時のメモです
こちらのサイトを参考にさせて頂きました
総合的な学習のお時間
今回は学習用にRails環境を使いたかったので一つのコンテナで複数のアプリケーションを何個も作ることが可能なワークスペースのようなイメージをつくりました
環境
Windows 10 Pro
Docker for Windows
Windows PowerShell
バージョン
Rails 5.2.0
Ruby 2.5.1
※2018/7/26 時点での最新安定バージョンを使いました
Dockerのインストール
こちらのサイトからダウンロードしてインストールすると起動します
https://www.docker.com/docker-windows
Dockerfileの作成
FROM ruby:2.5.1
ENV APP_ROOT /usr/src/workspace
WORKDIR $APP_ROOT
RUN apt-get update && \
apt-get install -y nodejs \
default-mysql-client \
postgresql-client \
sqlite3 \
--no-install-recommends && \
rm -rf /var/lib/apt/lists/*
COPY Gemfile $APP_ROOT
COPY Gemfile.lock $APP_ROOT
RUN \
echo 'gem: --no-document' >> ~/.gemrc && \
cp ~/.gemrc /etc/gemrc && \
chmod uog+r /etc/gemrc && \
bundle config --global build.nokogiri --use-system-libraries && \
bundle config --global jobs 4 && \
bundle install && \
rm -rf ~/.gem
Gemfileの作成
source "https://rubygems.org"
gem 'rails', '5.2.0'
さらに空のGemfile.lockも作成しました
dockerイメージの作成
上記手順で作成したDockerfileを基にdocker imageを作成します
```※右辺の「.」はDockerfileのあるディレクトリを指定しています
```docker images
```でimageが出来ていることを確認できます
# dockerコンテナの作成
docker run -d -p 3000:3000 -it -v [連携したいホストマシンのディレクトリ]:/usr/src/workspace [イメージID]
# dockerコンテナに入る
```docker exec -it [container_id] /bin/bash```
# コンテナ内でGemfileの作成
source "https://rubygems.org"
gem 'rails', '5.2.0'
※Gemfileを作成したディレクトリを指定してコンテナを作成した場合はすでに存在しているので不要です
# Railsアプリケーションを作成
```rails new [appName]```
# Railsアプリケーションを起動
```cd [appName]
rails server -d -b [dockerゲストのIPアドレス]
ipアドレスは
ip a
で確認できます
起動確認
ホストマシンから
http://localhost:3000
へアクセス
railsサーバの停止
プロセスIDの確認
ps -ef | grep puma
kill -9 [プロセスID]
おわり
お手軽にrailsアプリケーションを作成することが出来るようになりました
完成したイメージはこちらにありますのでもし必要な方がいましたら使っていただけたら幸いです
docker pull amnihs/rails_5_2_0