本文へスキップ
BecomeCoder
ブログ一覧コース一覧

Dockerと仮想マシンの違いとは?初心者向けにわかりやすく比較

#Docker#仮想マシン#コンテナ#インフラ#初心者

結論:仮想マシンは「OSごと丸ごと再現する」重い箱、Dockerコンテナは「アプリと必要なものだけを包む」軽い箱です。 起動が秒単位で速く、数を並べても軽いのがコンテナの強み。まずは仕組みの違いを押さえ、Dockerコースでコンテナを実際に動かすとイメージがつかめます(インストール不要・無料)。

仮想マシン(VM)とは

1台の物理マシンの上に、ハイパーバイザという仕組みで「仮想のPC」を作り、その中にゲストOS(LinuxやWindows)を丸ごとインストールして動かすのが仮想マシンです。中に完全なOSが入るので、環境としては本物のPCとほぼ同じ。ただしOSまるごとぶんのメモリ・ディスク・起動時間がかかります。

Dockerのコンテナとは

コンテナは、ホストのOSカーネルを共有しながら、アプリと依存物(ライブラリなど)だけを隔離して動かす仕組みです。OSを丸ごと積まないぶん軽く、起動は一瞬。「設計図(イメージ)」と「実体(コンテナ)」の関係は イメージとコンテナ ― 設計図と実体 で実際に手を動かして確かめられます。最初のコンテナは hello-world を動かす から。

何が違う?(早見表)

「消えるデータ」に注意

コンテナは使い捨てが基本で、そのままだと中のデータは消えます。この考え方は コンテナは使い捨て ― なぜデータが消えるのか で体験でき、データを残す方法(ボリューム)は docker volume ― データの保管庫を作る に続きます。VMの「中に永続的に保存」とは発想が違う点です。

どっちを使う?

今の主流は「コンテナで軽くアプリを動かし、複数台に広げる」流れです。まずは Dockerコース を第2章から順に、ブラウザのシミュレータでコマンドを打って覚えましょう。土台のコマンド操作に不安があれば Linuxコース も同じくブラウザで試せます。使い方の手順だけ知りたい人は Docker使い方入門 をどうぞ。

次に読む

← ブログ一覧に戻る