先般、 CentOS 7 上に用意した Docker を使って、 WordPress のお試し環境をさくっと作成しましたが、 ほんと作成しただけで、やった本人が Docker の使い方をうろ覚えしているもので、 これを機会に、最低限、WordPress 環境の 作成・維持に関する部分だけでも…と思って、 Docker の扱い方を整理するつもりで調べ始め、 深みにはまりました orz

 まず第一に、前回、 WordPress のお試し環境をつくるために、 さくっと二つほどコンテナを作成しましたが、 あれはあくまでお試しにあげる方法で、ある程度以上の期間使うつもりの環境のためなのであれば、 ちゃんとイメージのビルドからやらなければいけないことを思い知りました。

 Docker では「イメージ」と「コンテナ」という概念があって、 実際にプロセスとして動いているインスタンスは「コンテナ」です。
 ただし、このコンテナはイメージの差分として構成されており、前回のようにいきなり
sudo docker run --name wpdb -e MYSQL_ROOT_PASSWORD=password -d mysql
とかして、mysql:latest のイメージをダウンロードしてコンテナを生成して、 これを恒久的に使ってしまうと、再度、maysql:latest のイメージが更新されたときに コンテナを生成しているのでイメージが消せないので、 新しいイメージがダウンロードができなくなってしまいます。
 残念ながらダウンロードしたイメージをアップデートする手段はないので、 一度、コンテナも削除しイメージを消して、再度ダウンロードしなければならなくなります。

 従って、コマンド一発で latest なイメージからコンテナを作成した際に、 即座にコミットして、新しいイメージを作成し、ここから新たなコンテナを実行するか、 できることがわかった早い段階で、dockerfile を作ってイメージをビルドするというのが、 正解だったようです。

 文章だけだとわかりにくいので、自分の頭の中の整理のために、 Docker のライフサイクルの図を作ってみました。
# あくまで私の頭の中での整理です。正確性は保証しかねます m(_ _)m
Image:Computer/20150719DockerLifeCycleImage.png
 うーん。。。ほんと DockerWordPress を動かしただけの知識でした。 浅はかでした orz

 ちょっと Docker が便利に思えてきたので、 blosxom も この上で動かしたいなと思い始めたので、引き続きもうちょっと勉強します (_ _;> > Docker

Ellinikonblue.com Weblog 「 Docker で WordPress 環境をさくっと作成」