Docker †
- コンテナ型の仮想化ソフトウェア(LinuxのnamespaceとcgroupといったAPIで実現されている)
- OS(実行環境)とアプリケーションをコンテナイメージとして作成
- Infrastructure as Code(IaC)とImmutable Infrastructure(イミュータブル インフラストラクチャ)を実現する
Docker周辺 †
Docker Compose †
- 複数のコンテナを管理するツール
- Ansibleのようにコンテナ定義を.ymlに定義しておくと、定義通りにコンテナ環境を構築してくれる
参考
Docker Swarm †
- Docker Composerを複数のノード間で管理可能にするツール
- Containerの増減、負荷分散等を考慮したContainerの配置などを行うことができる
- より高度なソフトウェアとして、コンテナオーケストレーションツールのデファクトスタンダードである、Kubernetesがある。
参考
- さくらのナレッジ > エンジニア向け > Docker SwarmによるDockerクラスタ環境の構築(Dockerの最新機能を使ってみよう:第4回) - on https://knowledge.sakura.ad.jp/5197/
Docker Toolbox †
以前、WindowsやMac環境では、VirtualBox上でコンテナエンジンを動作させる一連のToolKitとして提供されていた。
現在はOSネイティブ(WindowsはHiper-V、macOSはHypervisor Framework)のハイパーバイザ型の仮想化APIが使われている。
参考
- Windows 10 の Hyper-V の概要 - on https://docs.microsoft.com/ja-jp/virtualization/hyper-v-on-windows/about/
- Hypervisor - on https://developer.apple.com/documentation/hypervisor
- Docker、MacOS X対応の軽量な仮想化ツール「HyperKit」をオープンソースで公開 - on https://www.publickey1.jp/blog/16/docker_hyperkit.html
参考リンク †
Docker †
- Docker公式 - on http://veoh.com
- docker/cli - on https://github.com/docker/cli
- 忙しい人の5分で分かるDocker 2017年春Ver - on https://www.slideshare.net/zembutsu/5-minuts-docker-2017