Docker for Windows のインストール

はじめに

永らく放置をしていたこのブログですが、久しぶりに更新をします。
これまではXAMPPを使ってローカルに環境を構築してカスタマイズなどをしていたのですが、Dockerの環境を整えることにしました。

コンテナってなんだ?と思いながら試行錯誤で構築した備忘録になります。

仮想化の有効化

Hyper-Vを利用するには仮想化が有効である必要があります。
タスクマネージャーを起動し、パフォーマンスタブから仮想化の状態が「有効」になっていることを確認します。

「無効」になっている場合は下記のコマンドで有効化できます。

PowerShell
bcdedit /set hypervisorlaunchtype auto

Hyper-V

コントロールパネルの[プログラム]-[Windowsの機能の有効化または無効化]から「Hyper-V」にチェックを付けます。

Docker for Windows のインストール

下記のサイトからインストーラをダウンロードできます。

https://docs.docker.com/docker-for-windows/install/

インストール自体は画面に従って実行をしていきます。
Docker Desktopのバージョンは2.0.0.3がインストールされました。
dockerは18.09.2がインストールされました。

CentOS7を起動してみる

試しにCentos7のコンテナを作成、起動してみます。
操作にはPower Shellを使います。

今回はCentOS Linux release 7.6.1810がインストールされました。
初回はイメージのダウンロードが必要となり、時間がかかりますが、2回目からは数秒で起動することができます。

はまりどころ

イメージのダウンロードができない

再現ができなかったのですが、最初はイメージのダウンロードに失敗することがありました。
そんな時は、Dockerの[Setting]-[Network]-[DNS Server]の設定をFixedに変更すると解決できました。

自動起動について

Dockerの[General]-[Start Docker Desktop when you log in]のチェックを外しても自動で起動してしまうようです。
インストーラーの作成するレジストリの値と、[Start Docker Desktop when you log in]で操作するレジストリの値が異なることが原因のようです。
気になる方は下記のページを見てください。
https://github.com/docker/for-win/issues/2950

Kitematic のインストール

KitematicとはDockerの操作をGUIでできるようにするツールです。
トスクトレイのDockerから[Kitematic]を選択するとダウンロードを勧めるダイアログが表示され、Kitematicをダウンロードすることができます。
ダウンロードしたKitematicを解凍し、C:\Program Files\Docker\Kitematicに配置します。

もう一度、タスクトレイのDockerから[Kitematic]を起動します。

DockerHubのコンテナを検索したり、作成済みのコンテナの起動や停止、shの起動などGUIでできるようになります。

まとめ

dokerが動作する環境を整えることができました。
次は、Apache + PHP + MySQL (+ phpMyAdmin) の環境を整えていきたいと思います。
node.jsにしない理由はこのサーバーがApacheだからとかそんな理由です。