背景
Moodleのプラグインを開発するために、テスト環境の構築が必要になりました。
今までは、仮想マシンや開発用のマシン(自分のMacや会社のWindows)でテストしていましたが、
パーミッションのチェック、環境間の違いの調整、Cronの設定の変更などの細々したことが面倒になってきました。
やってみたかったこと
- Dockerの使い方を知る
- 何ができるのか把握する
- どんな応用ができるか調べる
やってみたこと
- Macへのインストール
- Windowsへのインストール
1. Mac へのインストール
まずは、Mac へのインストールですが、こちらは非常にスムースでした。
ダウンロードURL (https://docs.docker.com/docker-for-mac/install/) へ行き、
"Download from Docker Hub" からダウンロードします。
ダウンロードには、アカウントの作成が必要でしたが、無料のようでした(良かった)。
個人のGmailのアドレスを使って、アカウントを作成し、ダウンロード・インストールしました。
2. Windows へのインストール
次は、会社のWindowsへのインストールですが、こちらは四苦八苦しました。
トラブル1: docker-users
インストール後に、いざ開こうとすると、警告が出てきます。
'You are not allowed to use Docker, you must be in the "docker-users" group'.
ログインユーザが、"docker-group" のメンバーではないことが原因のようです。
トラブル2: ネストされた仮想環境
上の手順だけで大丈夫と思ったのですが、更にエラーが...
開発用マシンでは、Azureの仮想マシンをリモートデスクトップで使っていました。
Hyper-Vがデフォルトでは無効になっていたようです。
以下のコマンドで有効化しました。
- Powershell を管理者権限で開いて、
- Hyper-V を有効化
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All -Verbose
- Windows コンテナを有効化
Enable-WindowsOptionalFeature -Online -FeatureName Containers -All -Verbose
- Hyper-V を自動起動する
bcdedit /set hypervisorlaunchtype Auto
- パソコンの再起動
shutdown.exe /r /t 0
トラブル3: それでもうまくいかない!!
古いCPUを使っていたことも原因の1つでした。(Hyper-V のサービスのいくつかが起動しない)
以下、Microsoftのページにしたがい、virsion 3 のVMに変更。
(https://docs.microsoft.com/en-us/azure/virtual-machines/windows/nested-virtualization)