VPSをDocker化して良かったと思う今日このごろ

運用環境

このサーバーはお名前.comのVPSサーバ上で運用しています。
ホストOSはCoreOSでDocker上にをwordpressを始め、git、owncloudなどを立ててます。

wordpress以外はプライベート用で、gitもprivateならバンバンpush,commitできますし、wikiも自分さえ理解できれば良いのでコマンドやソースをコピペしたりしてます。パス認証を付けているので著作権とかも関係なく良いサイト・情報をコピペしても問題ないので便利です。

なのでdocker statsコマンドを打つと

こんな感じです。うん。ひどい。コンテナIDを公開しても問題ないと思いますが無知なので隠しておきます。

なぜDocker化したのか

昔からVPSサービスは利用していました。CentOS上に必要・面白そうなサービスをガツガツインストールです。

しかし1つのマシンに複数のサービスの導入をしていくとシステム要件が矛盾してしまうことが多く苦労が絶えません。
例えばwikiがphp5系が推奨でphp7系は非推奨。gitはphp7系が推奨でphp5系が非推奨と言うシステム条件だった場合、php5、7の両バージョンをインストールして運用する場合、これがかなり構面倒なことになります。

Aサービスを入れてBサービスをいれたらAサービスが起動しなくなったなんて当たり前。

他にもnginxとapacheの何故2つ入れるのだ!?と思うダブルWEB運用もしていました。自分でもどうしてこうなったのかわかりません。ある意味「よく動いているな。うんうん」と、なぞの関心をしていました。しかし構築できても再構築は不可能。

バックアップ方法も環境が入り混じっているのでかなり考える必要があったり、データは保持できているけどリカバリできるのかな?と不安が残る状態。結局は障害がないおかげでリカバリをする機会が無かったのは幸いです。

Docker?なにそれ美味しいの?

新しいフレームワークやサービスを試しに扱う時、なんとなく動いて「Hello World!!」が表示され簡単だと勘違いしてしまうことがあります。実運用・どういう案件に適しているかは実践レベルで使ってみないと分からないものです。

それじゃ、VPSをDocker化してみるかっと思ったのがきっかけで今の運用方法になっています。

Docker化してよかった点

Dockerの技術的な点には触れませんが大体

  • コンテナ単位での管理なので新しコンテナを構築中に壊しても他コンテナは無傷
  • コンテナの依存関係が明確
  • 依存関係がはっきりしているのでシンプルな構成になる
  • バックアップデータが明確
  • バックアップ→リカバリのテストが気軽にできる

Docker化して苦労したところ

  • 学習コストの高さ。Dockerfile、docker-composeの記述方法を含めdockerの概念の理解
  • ホストOSにCoreOSを使用したため、インストールで「は?」となる
  • Dockerのデバックは非常にやりにくい
  • centosは人気がないのか?と思い色々試したくなる
  • timezonはだいたいUTF

学習コストは高く感じました。当然ながら物理サーバーでサービスを構築できる人ではないとDockerfileは作ることは出来ません。
OSSかつ成長期?なのですが公式Docを読んでて、昨日と書いていること違うと思ったら「update: 3 hour」を見て「あぁ、3時間前に更新されたんだ」とか当たり前でした。

Dockerどうなの

非常に面白い技術だと感じました。Docker Swarmを使ったクラスタ環境も試してみたいですが環境がないので後回しですが。

サーバー構築以外でもデスクトップマシン(Windows,Mac,Ubuntu)で開発環境構築もDockerfileがあれば長いInstall手順書など無くいけるかもしれません。
実際、開発環境をDocker化してみたりしているのですが、いろいろと問題がありますけどね。

本当に日々進化しているので今日出来なかったことが明日できるかもしれません。
悪く言うと今は安定を望むものではないかな。

スポンサーリンク
レタリング(大)広告
レタリング(大)広告

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
レタリング(大)広告