もふもふ技術部

DockerfileでCentOS6.6 + MySQLを自動起動するサーバを作る


昨日docker上にRailsアプリケーションをのっけようとしたけど、不明な点が多すぎてうまくいかなかった。なので一つずつ不明なところを解決していこうと思う。

今回はDockerfileを使ってMySQLサーバを自動起動して、ホストOS側のディレクトリをマウントしてMySQLデータを永続化するところまでやってみた。

Dockerfileを作成

Dockerfileは元になるOSのイメージに、個別シェルなどの実行を記述して docker build することでカスタマイズしたdockerイメージを作るためのものです。

イメージを起動してからterminalからカスタマイズしてcommitっていうやり方もあるんですが、Dockerfileにまとまっていると後から参照したときにわかりやすい。

Dockerfileを作ります。

ENTRYPOINTってなんだろう。
service mysqld start がうまくいかなかったから、なんか重要なのかも。

DockerfileからDockerイメージを作ります。
-tに指定するのは イメージ名:タグ という形式。イメージ名は ユーザー名/名前 っていうのが一般的っぽい。

参考

http://okisanjp.com/archives/1168

ちなみにserviceコマンド起動させてみたらこうなった。

imageを起動する。
-v はホストOSのディレクトリをゲストOSのディレクトリにマウントするオプション。ゲストOSの方でDBデータが更新されてもデータが永続化される。

おまけ

たぶんDockerfileって試行錯誤しながら書くことになると思うので毎回頭から実行するんじゃデバッグ大変だなーって思ってたら、既に実行済みのものはキャッシュしてくれてるみたい。新しいコマンドを追記してもサクっといける。

The following two tabs change content below.
原田 敦

原田 敦

日本CAWのエンジニア。もふもふ部の部長。得意分野はRuby on Railsを使った小規模WEBアプリケーションを高速で開発すること。週末の楽しみは一人お菓子パーティー。三度の飯より小動物をもふもふするのが好きです。
Tagged on: ,