Gマイナー志向

とくに意味はありません

オープンソースになったFC2ブログをDockerで構築してみた

FC2ブログがオープンソースになったと聞いたので、Dockerfileの作成練習も兼ねてDockerで構築してみた。ソースはこちら。

https://github.com/matsuu/docker-fc2blog/

ベースOSとしてCentOS版とUbuntu版を用意した。

工夫したこと

  • Link Containerを使ってMySQLApacheを接続している
  • できるだけ環境変数でパラメータを渡せるようにした
  • できるだけDockerfileファイルにすべて収まるようにした
  • 複数のApache/MySQLが起動してもできるだけ大丈夫なように調整(かぶるのは外向けの80番ポートのみ)
  • ここ数日で身につけたノウハウをすべて注ぎ込んでみた

作ってみてわかったこと

  • FC2ブログのdomain(Cookie)周りがアレな実装なのでドメイン名を渡す必要があってアレ
    • HTTP_HOSTを使うようにした
  • ブラウザで初期設定投入後/admin/install.phpを消す必要があるがdockerで自動化しにくい
  • Dockerfileに全部詰め込むのなんとかなる

改善が必要なところ

  • セキュリティを考慮してmysql_secure_installを実行したい
  • ログ周りをsyslogかfluentdに吐くようにしたい
  • fc2blogはMySQLのMaster-Slaveに対応してるようなので対応する
  • Nginxに対応させたい
  • phpのセッションをmemcachedに食わせ、ロードバランサも用意してスケールアウトしたい
  • クラスタ構成のCoreOSでfleetを使ってウハウハしたい
    • fleet経由で起動できるようにしたがetcdを活用できてない
  • Apache(ブログ部分)だけ更新する手段を用意する
  • テストする仕組みを考える
  • プロセス監視、サービス監視
  • Gentoo版をまだ用意してない
    • 用意した