現在、単一のホームラボサーバーを使用して、いくつかのVMを実行しています。コンテナの使用への移行を開始したいのですが、VMも引き続き必要です。私の質問は、UbuntuをホストOSとして実行し、KVMのニーズにVMを、コンテナーのニーズにDockerをインストールして実行することです。
移動を開始する前に、単一のUbuntuサーバーでそれらがうまく共存するかどうかを知りたいと思います。
あなたの考えを感謝します!
はい、KVMゲスト(KVMを使用してQEMUで実行されているWindowsまたはOSXなど)とDocker(コンテナーを実行しているDocker CEなど)は、同じUbuntuインスタンスで同時に正常に実行されます。
あなたの質問は基本的に私のワークロードについて説明しています。現時点では、2つのAndroidエミュレーター(LinuxではKVMであるハードウェア仮想化アクセラレーションを使用)、Windows 10 QEMUゲスト、OS X High Sierra QEMUゲスト、およびDocker(これらの手順 https://docs.docker.com/install/linux/docker-ce/ubuntu/ を使用してインストール)で、Hello Worldの例を実行し、Ubuntu 18.04で同時に実行します。ホスト。
Linuxの仮想マシン(QEMUなど)はハイパーバイザー(QEMUの場合はKVMですが、VirtualboxとVMWareは異なるハイパーバイザーを使用)を使用してコンピューターのハードウェアリソースを使用し、DockerはLinuxネームスペースを使用して単純に現在実行中のカーネルで使用可能なハードウェアリソースを使用しますが、メインオペレーティングシステムから分離します。
このように、KVMゲストとDockerは実際には別々のテクノロジーを使用して実行され、カーネルレベルで相互に実際には相互関係さえありません。これは、異なるハイパーバイザー(たとえば、QEMU + KVMとVirtualBox)を同時に使用しようとする場合とは対照的です-一度に1つのタイプのハイパーバイザーしか実行できないため、機能しません(複数実行することもできますが)各タイプのハイパーバイザーからのVM)。
テクノロジーの詳細については、ここで素晴らしい説明があります: https://stackoverflow.com/questions/16047306/how-is-docker-different-from-a-virtual-machine