Dockerが普及し始めて、Docker Composeによって開発環境が簡単につくれるようになった2015年頃から、DockerはVagrantの置き換えツールとして使われることが増えてきました。 Vagrantを使うことでサーバープロビジョニングのときに発生する初期構築を全てスクリプト化し、プロジェクトメンバーの開発環境構築のコストを削減することができますし、設定がGitに残るのでメンテナンスも比較的容易です。そのため、自分の認識ではVagrantの一番の特徴はVMのパッケージングにあると思っています。 一方、Dockerはアプリケーションを動かす環境を配布するための仕組みとして普及しました。どちらもベースのイメージから必要な処理を流す点は同じですが、DockerとVagrantでは開発者が利用する上では体験の面で見ても以下のような違いがあると思います。 Vagrantは仮想マシンをV