Windows 10
 Computer >> コンピューター >  >> システム >> Windows 10

Windows 10 HomeエディションでDockerを実行する方法【VirtualBox活用】

最近、チュートリアル動画を見て学習していたところ、その内容を実際に試すには自分のマシンでDockerが動いている必要があることが分かりました。ここまでは順調です。

しかし、最新版のDockerはWindows 10 Pro、Enterprise、Educationのいずれかを要求します。つまり、私のように個人のノートPCにWindows 10 Homeしか入っていない場合、Dockerは使えない……と思いきや、実はまだ諦める必要はないのです

以下でその方法をご紹介します。

全体の状況整理

まず、現状を簡単にまとめましょう。何を実現したいのか、そして今何を持っているのか?

私たちのマシンにはWindows 10 Homeがインストールされています。同じマシン上でDockerを動かし、Dockerイメージの作成やコンテナの実行ができるようにして、より効率的に学び、成長していきたいのです!

具体的な手順

目標が定まったところで、その達成方法を見ていきましょう。以下は私が実際に試した手順です。私の環境ではうまくいったので、皆さんにもシェアしたいと思います。StackOverflowを行き来して何日も無駄にする人が一人でも減れば幸いです。

いろいろ調べた結果、ある記事に行き当たりました。それによると、Linux仮想マシンを活用し、その上でDockerコンテナを動かすことで、Windows 10 HomeでもDockerを使用できるとのこと。さっそく手順を見ていきましょう。

ステップ1:必要なソフトウェアのインストール

まず「Oracle VM VirtualBox」というソフトウェアをインストールします。これにより、物理マシン上に複数の仮想マシンを構築できるようになります。今回はLinuxが動く仮想マシンを作成し、そこにDockerを載せるという構成です。

次に、WindowsのパッケージマネージャーであるChocolateyを使い、PowerShellからdocker-machineをインストールします。以下のコマンドを実行してください:

choco install docker-machine

お好みのbashターミナルアプリを開き、次のコマンドを実行します:

docker-machine create --driver virtualbox default

これにより、「default」という名前のDocker用仮想マシンが作成されます。

ステップ2:設定

次に、Dockerコンテナ実行時にどのポートを公開するかを設定します。Oracle VM VirtualBox → default仮想マシン → 設定 → ネットワーク → アダプター1 → ポートフォワーディング の順に画面を開いてください。

Windows 10 HomeエディションでDockerを実行する方法【VirtualBox活用】

ここで最も重要なポイントがあります。Dockerがハードディスク上のボリュームをマウントできるようにしておく必要があるのです。デフォルトではC://Users/ディレクトリからしかマウントできません。

別のパスを追加したい場合は、Oracle VM VirtualBoxのGUIを開き、default仮想マシンを選択して「設定 > 共有フォルダー」へ進みます。デフォルト設定のまま使う場合は、プロジェクトを必ず「Users」ディレクトリ配下(例:C:\Users\{your project})に置くことを忘れないでください。

私はこの点を見落としてしまい、「Couldn't find package.json」というエラーが出続ける原因が分からず、数日間頭を抱えることになってしまいました……。

ターミナルで以下のコマンドを実行し、仮想マシンを起動します:

docker-machine start default

ステップ3:環境変数の設定

続いて、Dockerの環境変数を設定します:

docker-machine env default

これにより、DockerクライアントやDocker Composeが、「default」という名前を付けたLinux仮想マシン上で動作しているDocker Engineと通信できるようになります。

環境によっては、さらに以下のコマンドの実行が必要な場合もあります:

@FOR /f "tokens=*" %i IN ('"C:\ProgramData\chocolatey\lib\docker-machine\bin\docker-machine.exe" env') DO @%i

注:コマンド内のパスは環境によって異なる場合があります

docker-compose upなどを使いたい場合は、Docker Toolsもインストールする必要があります。PowerShellで以下のコマンドを実行してください:

choco install docker-cli
choco install docker-compose

これで、Windows 10 HomeでDockerを使い始めるために必要なものがすべて揃いました。

まとめ

必要なものがすべて揃ったので、あとは実際の学習に時間を使うだけです。Docker関連のチュートリアルに取り組むのも、書籍を読んで知識を深めるのも自由です。次に何をするにしても、必要なツールはすべて手に入っています。

私はまず冒頭で紹介したチュートリアルを完走し、その後はすべてのプロジェクトでDockerを使うようになるかもしれません。

ちなみに、調査の過程でDockerに特化した有望な書籍を見つけました。Ian Miell氏著の『Docker in Practice』です。興味があれば、ぜひ一度チェックしてみてください。

補足:本記事で紹介しているのはDocker Toolbox時代の手法です。現在ではWSL2(Windows Subsystem for Linux 2)を利用した「Docker Desktop for Windows」が公式に提供されており、Windows 10 Homeでも利用可能です。新規に環境を構築する場合は、こちらの方法も併せて検討することをおすすめします。

最後までお読みいただきありがとうございます!

参考資料

  • https://www.virtualbox.org/
  • https://www.sitepoint.com/docker-windows-10-home
  • https://www.youtube.com/watch?v=6Yfm5gHQjaQ&list=PLnTRniWXnjf8YC9qJFLSVCrXfS6cyj6x6&index=2
  • https://github.com/mihailgaberov/microservices
  • https://support.divio.com/en/articles/646695-how-to-use-a-directory-outside-c-users-with-docker-toolbox-docker-for-windows
  1. MacでWindowsを使う方法|Parallels・Boot Campなど5つの手段を徹底比較

    Macは安全性と快適な操作性で知られています。しかし、「Windows専用のソフトウェアを使いたいから」という理由で、Windowsからの乗り換えをためらっている方も多いのではないでしょうか。 実は、その心配は不要です。仮想マシン(Virtual Machine)などの仕組みを活用すれば、1台のMac上でmacOSとWindowsの両方を利用することができます。再起動なしにOSを切り替えられる方法もあれば、ネイティブ性能でWindowsを動かせる方法もあります。 この記事では、MacでWindowsを実行する代表的な5つの方法(Parallels Desktop、VMware Fusion、B

  2. Windows 10(Homeエディション)で自動更新を完全に無効化する4つの方法

    最新のWindows 10では、MicrosoftがすべてのPCに最新のセキュリティパッチ、パフォーマンスおよび安定性の改善を行き渡らせるため、累積更新プログラムを自動的にインストールする仕様になっています。しかし中には、一部の更新プログラムをすぐにインストールされたくないユーザーもいます。「Windows 10が勝手に更新プログラムをダウンロードしてインストールしてしまうが、自動更新がシステムやネットワークリソースを消費するので、OSを更新したくない」という声も少なくありません。Windows 10ではWindows Updateの制御がやや難しくなっていますが、グループポリシーやレジストリ