とりあえず、今自分のパソコンで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を作り、中に
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
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
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 なんて使わねーよと言われたら終わりというところか。