LoginSignup
33
35

More than 5 years have passed since last update.

Docker事始め その2。Dockerfileを作ってみる

Last updated at Posted at 2014-05-07

前回までのあらすじ

  • boot2docker でDockerのVMを作る
  • Dockerの基本操作を覚える
  • docker commit して環境をインストールしたコンテナを作成した

Dockerfile

さて。今回はDockerfileを書いてみます。
Chefのレシピのようにコンテナ起動時に実行されるスクリプトで、環境のインストールを自動化するためのファイルです。

役割としてはChefのレシピに近いのですが、記述方法が比較的シンプル(シェルのコマンドほぼそのまま)なので、
Chefよりもとっつきやすいと思います。

Ruby2.0 + Rails4.1

環境の作り方はここを参考にしてます。

Dockerfile

Dockerfile syntax highlighting

というプラグインがあったので使ってます。

Dockerfile.png

Dockerfile一発でRubyの開発環境を作る

Chefより簡単そう、とか言いながらエラー出まくり試行錯誤しまくり。
bashrcとかはちゃんと読んでくれないっぽいのですがやり方が悪いのか、、、

Dockerfile

FROM centos
MAINTAINER Yuto Ogi <jacoyutorius@gmail.com>


RUN echo "install ruby environment"
RUN yum install -y git vim sudo tar wget
RUN yum install -y gcc make gcc-c++ zlib-devel httpd-devel openssl-devel curl-devel sqlite-devel

RUN cd /root/ && wget http://cache.ruby-lang.org/pub/ruby/2.1/ruby-2.1.1.tar.gz
RUN cd /root/ && tar zxvf ruby-2.1.1.tar.gz
RUN cd /root/ruby-2.1.1 && ./configure && make && make install
RUN gem install bundler --no-ri --no-rdoc -V
RUN gem install rb-readline --no-ri --no-rdoc -V

RUN echo "Install rails"
RUN gem install rails --no-ri --no-rdoc -V
RUN echo rails -v

RUN git clone https://github.com/jacoyutorius/todolist.git
WORKDIR /todolist
RUN bundle install
EXPOSE 3000
RUN rails s

Railsのアプリは数分で適当に作ったToDoアプリをcloneしてます。。。

docker build

docker@boot2docker:~$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
yuto/centos         rails               2087cad9f6c1        5 days ago          1.483 GB

docker build -t yuto/centos  .

Uploading context 3.072 kB
Uploading context
Step 0 : FROM centos
 ---> bee3be095dae
Step 1 : MAINTAINER Yuto Ogi <jacoyutorius@gmail.com>
 ---> Using cache
 ---> a7b42e461fb7

~ 省略 ~

=> Booting WEBrick
=> Rails 4.0.2 application starting in development on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
[2014-05-07 12:43:32] INFO  WEBrick 1.3.1
[2014-05-07 12:43:32] INFO  ruby 2.1.1 (2014-02-24) [x86_64-linux]
[2014-05-07 12:43:32] INFO  WEBrick::HTTPServer#start: pid=1 port=3000

ということで、なんとかDockerfileでRailsのアプリを起動するとこまでやってみました。
次はいよいよAWS ElasticBeanstalkかなー。

33
35
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
33
35