Windows10 に Docker Desktop をインストール
前回投稿:Windows10 に WSL2 をインストール(Docker Desktopの前準備) から続きです。
https://hub.docker.com/editions/community/docker-ce-desktop-windows
Microsoft Store を起動すると、Linuxディストリビューションが何も入ってないとインストールを薦められるが、Docker Desktopを使いたいだけならば入れなくてOK!
ちなみに、説明の中で挿入している画像データは小さくて見ずらいですが、クリックするとポップアップするようにしています。
DockerDesktop のインストール手順
インストールはここまでで完了!! |
「Start」で引き続きガイドが表示される。 |
右のコマンドエリアで作業も可能。進めるとDockerの扱い方が出ているようです。とりあえず抜けます。 |
1.動作確認
Docker本体のインストールが完了しましたので、dockerコマンドが使えるか確認してみます。
バージョン番号が表示されれば正常にインストールできています。
2.設定
②右クリックから「Setting」
①タスクトレイにあるクジラアイコンを |
WSL2からDockerを 実行する場合には クリック |
3.インストール後の確認
「Windows PowerShell(管理者)」から「docker version」で、Dockerも使えるようになっていることを確認
WSL環境でDocker-desktop が使えるようになっている
Docker公式ドキュメント(https://docs.docker.jp/compose/wordpress.html#wordpress)
にある「Docker-compose.yml」を、C:¥my_wordpress に置いて、
docker-composeコマンドを投入
docker-compose.yml
version: '3' services: db: image: mysql:5.7 volumes: - db_data:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: somewordpress MYSQL_DATABASE: wordpress MYSQL_USER: wordpress MYSQL_PASSWORD: wordpress wordpress: depends_on: - db image: wordpress:latest ports: - "8000:80" restart: always environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_USER: wordpress WORDPRESS_DB_PASSWORD: wordpress volumes: db_data:
Windowsファイアーウォールで、アクセスを許可する。
Dockerコンテナで、Wordpressを立ち上げることに成功!!
PowerShell から docker-desktop に接続してIPアドレスを調べた。
ホームページのデータを All-in-One WP Migration で突っ込んで、サイトを再現しようと思ったが、Dockerに接続してもデレクトリ構成がわからなかったので、アップロード制限が外せなかったのでやめた。
【追記1】
Windows上のWSL2環境は、本体Winとは別のIPアドレスが割り振られるようになったが、仮想ネットワーク上のIPアドレスであり、本体Winの内部にあるネットワークIFであるので、本体Winの localhost で接続できるが、家庭LANにある別PCからは接続できない。
「本体Win」と「WSL2」の関係は、「家庭LAN用ルータ」と「家庭LAN」の関係と同じ。
で、日経ネットワークにWin本体から、WSL2へのポートフォワーディングの設定方法が載っていた。
PowerShell管理者権限で、
HTTPの80ポートのポートフォワーディング
netsh interface portproxy add v4tov4 listenport=80 listenaddress=0.0.0.0 connectport=80 connectaddress=WSL2のIPV4アドレス(上図では192.168.189.20)
WindowsファイアウォールでのWin80番ポートへの通信許可
netsh advfirewall firewall add rule name=”Open Port 80″ dir=in action=allow protocol=TCP localport=80
【追記2】
VirtualBoxは、HyperVとの共存に対応したが、まだまだ安定しないので、起動時にHyperVを起動しない設定が以下(日経ネットワークで見つけた)
PowerShell、コマンドプロンプトの管理者権限で、
bcdedit /set hypervisorlaunchtype off
有効に戻すのは、
bcdedit /set hypervisorlaunchtype auto