Dockerを個人的に使用する機会があり、なぜか興味を持ったのでDockerを本格的に勉強することにしました。
Docker初心者が勉強したことのアウトプットです。
#Dockerとは
コンテナと呼ばれる環境にアプリケーションをパッケージング・デプロイ・実行できるソフトウェア。
クライアント・サーバ型のアーキテクチャで実装されており、DockerクライアントがDockerデーモンとやり取りを行うことにより、コンテナのパッケージング・デプロイ・実行を行う。
#メリット
- 軽量
- ホストOSのカーネルを利用するため、オーバーヘッドが少なくコンテナの立ち上げが早い
- 移植性
- 環境の内容をコードで記述しておける
- 異なるホストでも同じ環境を再現できる。
#デメリット
- Linuxのカーネルを使用するため、Linuxでしか動作しない。(2016/7現在、Docker for Windowsがβ版で提供されている。また、Windos Serverでも提供される予定)
- Dockerデーモンをroot権限で動かす必要があり、DockerクライアントとDockerデーモンがソケットかRESTful APIを使用して通信を行うため、セキュリティに注意をはらう必要がある。
#参考URL
- Docker ドキュメント日本語化プロジェクト
- Docker入門
- SOTA
#次回
Dockerで使用出来るツールに関してアウトプットする予定です。