LoginSignup
3
3

More than 5 years have passed since last update.

dockerでrailsの開発環境をつくる

Last updated at Posted at 2015-11-09

とりあえず、今自分のパソコンでdockerコマンドが使える状態になっているとする。

まずなんとなく作業用のディレクトリを作って中に入ろう。

mkdir ~/apps
cd apps

んで、コマンド一発!

docker run -it --rm --user "root:staff" -v "$PWD":/usr/src/app -w /usr/src/app rails rails new --skip-bundle webapp

root:staff の部分はなんていうか、ホスト側のバーチャルマシンのユーザー名とグループ名ですな。

こうすると自分のmacの直下のwebapp内にrailsっぽいものが出来ている。
ただしGemfile.lockが存在しない。

さらにコマンド一発!

docker run --rm -v "$PWD":/usr/src/app -w /usr/src/app ruby:2.1 bundle install

こうすると Gemfile.lock が生成される。

で、Gemfileと同じ階層にDockerfileを作り、中に

Dockerfile
FROM rails:onbuild

と書く。そして、コマンド一発!

docker build -t my-rails-app .

dockerのイメージが出来るので走らせる。

docker run --name rails01 -p 8080:3000 -d my-rails-app

ブラウザから http://なんちゃら:8080/ を確認すれば動いているのが分かる。

が、このままでは何もできない。このコンテナにbashで入ってもviすら入っていない。
そもそもこの、Ctrl+lの効かない不自由なシェルもどうしたものか。。

まあしかしコマンド4発でrailsが動いてるんだからよしとするか。

で、この作られたコンテナ、Debianなんすな。

$ cat /etc/os-release    
PRETTY_NAME="Debian GNU/Linux 8 (jessie)"

日本語化されていないのでこのままだとvimを入れても日本語の表示も入力もできない。
ということで、まずコンテナにbashで入って、

docker exec -it rails01 bash

まずは、

apt-get update

続いて、

apt-get install uim uim-anthy

なんかすごい長いインストールが走って、これが終わるとcatとかで日本語が表示されるようになる。

vim入れる。

apt-get install -y vim

設定ファイルを作る。

vim  /etc/vim/vimrc.local
/etc/vim/vimrc.local
set encoding=utf-8
set fileencodings=utf-8,iso-2022-jp,ucs2le,ucs-2,cp932,euc-jp,latin1

neoだと動かなかったので、vundle入れる。

git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

.vimrc作って、vundleの設定入れる。

vim ~/.vimrc
~/.vimrc
set nocompatible              " be iMproved, required
filetype off                  " required

set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()

Plugin 'VundleVim/Vundle.vim'

Plugin 'tpope/vim-fugitive'
Plugin 'Shougo/unite.vim'

call vundle#end()            " required
filetype plugin indent on    " required

vim起動してから以下コマンドでインストール

:PluginInstall

あとは自分好みの.vimrcを書きこめば終わり。

日本語の設定のあたりがわずらわしいよね、まとめてやっちゃう方法はないものか。

まあしかし、問題なのは debian なんて使わねーよと言われたら終わりというところか。

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