Dockerは私のようなシステム(特にインフラ系)に弱い人間にとって、その弱さを補ってくれるツールです。なので、ちょっと寄り道とも思えますが学習しました。
Docker関連の参考記事として下記も書いています。
#概要と用途
Dockerは軽量な仮想化ツールです。
- 開発・テスト環境を素早く構築:Docker Hubという様々なDockerのイメージを公開している場所があるので、それを使うことで簡単に環境構築ができます。また、公開しない形のファイルからも環境構築が可能。とにかくお手軽です!
- 開発・テスト環境を他の人と共有:自身やチームの環境を保存でき、他の人と共有ができます。個人個人で環境差異がなくなるのがいい点です。
#システムアーキテクチャ
システムアーキテクチャをお絵かきしました。左がDockerで、右がVMwareなどによる仮想化です。(よくも悪しくも)Dockerの方が独立性が低く、コンテナ間でいろいろなリソースを共有してくれます。
Windowsでの使い方については「「Windows Serverコンテナ」「Hyper-Vコンテナ」「Linuxコンテナ」「Docker」の違いとは?」を参照ください。
#Dockerfileでのイメージ共同管理
Dockerfileを使うことで他人とイメージの共同管理ができます。Dockerfileの作り方は記事「効率的に安全な Dockerfile を作るには」が参考になりました。作り方によって大きくイメージの容量などが異なるので公式サイトのDockerfile ベストプラクティスに書かれていることが重要です。
Dockerfileからのイメージ作成は「初心者用Docker基本コマンド一覧(新旧スタイル対応)」を参考にしていください。