docker紹介
Categories:
- docker紹介
docker について
- docker はアプリケーションコンテナエンジンで、アプリケーションとその依存関係を移植可能なコンテナにパッケージ化し、人気のある Linux または Windows マシンに配布したり、仮想化を実現したりできます。
- なぜ docker が存在するかというと、開発者とオペレーターがよく直面する問題があるからです。開発者の環境では問題なく動作するアプリケーションが、実際の本番環境ではバグだらけになるというものです。
- プログラムの実行はハードウェアアーキテクチャからオペレーティングシステム、さらにアプリケーションまで、これらは異なるレイヤーですが、開発者はアプリケーションの開発にのみ注目し、他のレイヤーの問題を無視しがちです。
- docker が登場したのはこの問題を解決するためで、アプリケーションとその依存関係をコンテナにパッケージ化することで、環境の問題を心配する必要がなくなります。
- 開発環境と本番環境を同期させ、開発者がローカルで開発、テスト、デプロイメントを行い、環境の問題を気にせずに済むようにします。開発とオペレーションの効率を著しく向上させ、わずかなリソースの浪費というコストで実現します。
すべての開発者にコンテナを使用した開発とデプロイメントを学ぶことを強くお勧めします。比較的低いコストでアプリケーションに安定した実行環境を提供し、開発とオペレーションの効率を向上させます。
docker を使用した作業フローを平易な言葉で説明します:
- オペレーティングシステム、アプリケーション、依存パッケージ、設定ファイルなどを含む開発環境をゼロから作成します。
- 環境はどこでも実行でき、どこでも作成できます。
- 環境でのソースコードコンパイル結果は安定していて予測可能で、動作は完全に一致します。
- 環境でプログラムが実行されても、解釈の違いは生じません。
- 宣言的に環境を作成できることが望ましい(docker-compose)ことで、環境の隠れた差異をさらに減らし、環境のすべてが宣言に示されています。
- commit を作成し、イメージを作成します。これは現在の環境を保存するスナップショットで、将来的に使用できます。
- 他の開発者とオペレーターにイメージを共有し、同じ文脈に基づいて作業を進めます。
- ビジネスの成長とニーズに合わせて、イメージを修正し、再度 commit を作成し、再度イメージを作成し、再度配布します。