動機 私はRubyOn Railsのエンジニアです。 わたしのPCでは、rvm, macportsをつかって開発していて、rubyのバージョン管理やその他周辺ライブラリのインストールではまったりすることが多かったことから、Dockerによる開発環境の仮想化を検討しました。 Dockerについての理解 Dockerはアプリケーション(プロセス)単位で実行環境を仮想化します(アプリケーションの実行に必要なファイルやディレクトリをまとめた「コンテナ」という単位での管理)。 ウェブアプリケーションであれば、webサーバ、DBをコンテナをそれぞれ作成し、それらを連携させることで機能させることができます。 ウェブアプリでは必須の「データ」の永続化に関しては、記憶領域をコンテナにして、DBと連携させることでホストから切り離すことができます。(postgresのインストールでハマりまくったので、非常に感動