Dockerあれこれ

ちょっと最近Dockerいじっててどうすりゃいいのかなってところがあったのでメモ。

前提条件

  • 本番運用はしない、開発環境のみ
  • 要求としては環境固定がしたい
    • UbuntuのバージョンをアップデートしてMySQL5.6 => 5.7にうっかり上げてしまい、いろいろ痛い目を見ている
    • もともと開発サーバに入って各人がその環境で開発する……というかたちをとっていたのだけど、サーバが使えなくなるといろいろ大変!という懸念もありその前に必要なものを管理できるように落とし込みたい

考えていること

試しにMySQLサーバの公式イメージをベースに使って、うちの環境にあうようにいろいろやってみたところWebアプリケーションから接続できるところまでは確認。そこでDockerfileやシェルスクリプトをそこそこ整えたいなと思ったのだけど、このへんのベストプラクティスみたいなのはあるんだろうかという疑問。

たとえば、こういう感じ。

  • MySQLの設定ファイル。公式イメージだと特定のディレクトリにあれば読み込んでくれるので、その場所に置くのだけどADD命令で突っ込むのがいいのか、ホストのディレクトリをマウントして共有すればいいのか
    • 個人的にはADDで突っ込んだほうが良さそうに感じる
  • DBの初期データを流し込むのはDockerfileでやるほうがいいのか、別途やるほうがいいのか
    • 後者のほうが柔軟性はあるかなーと思っている
  • RailsなどのWebアプリケーションで動作環境を作る場合とかやっておいたほうがいいことがあるかなど
  • 公式ドキュメント読めばだいたいの動きはわかるけど、こうしたほうがいいというベストプラクティス的なものがどこぞにまとまってるなら読みたいなぁ。

Docker実践ガイド

Docker実践ガイド

本を読むとするならAmazon見るとこのへんが良さそう……などなど。

随時更新。