#目的
docker+WSL2を使ってwordpressのローカル環境を構築する。
#動作環境
- windows10 home
- Docker Engine v20.10.8
- WSL2
- Ubuntu 20.04
#1.はじめに
WSL2でDocker Desktopを使えるように構築する。
※筆者はWSL2の環境はすでに構築していたので、WSL2の環境構築は別の記事を参照してください。
##1.1WSL2でdockerを使えるようにする。
DockerDesktop for windows をインストールする。
Docker Desktopの設定(歯車マーク)→「Use the WSL 2 based engine (Windows Home can only run the WSL 2 backend)」
という項目がグレーアウトし、チェックが付けられていることを確認する。
Resources
→ WSL INTEGRATION
→ Ubuntu -20.04
にチェックする。
これでWSL2でDockerを使う準備は出来ました。
1.2.動作確認
WSL2のLInuxコンソールを表示し、Dockerが使えるか確認する。
コンソールでdockerのバージョンを確認するコマンドを入力して
$ docker --version
下記のように表示されれば成功です。
Docker version 20.10.8, build 3967b7d
#2.Wordpressの開発環境を構築する。
##2.1イメージを取得する。
DockerHubから使いたいイメージを取得するにはpull
コマンドを使用する。
$ docker pull mysql:5.7.25
$ docker pull wordpress:latest
イメージがローカル環境にあるか確認するには下記のコマンドを使用する。
$ docker images
コマンドを使用すると以下のように表示されますのでこれで確認することができる。
mysql 5.7.25 98455b9624a9 2 years ago 372MB
wordpress latest 28084cde273b 3 years ago 408MB
##2.2コンテナを作成する
イメージからコンテナを生成して起動するにはrun
コマンドを使用する。
$ docker run --name mysql5.7.25 -e MYSQL_ROOT_PASSWORD=password -d -p 3307:3306 mysql:5.7.25
$ docker run --name wordpress4.9.1 -v /mnt/c/Users/tattu/dev/docker/html:/var/www/html --link mysql5.7.25:mysql -d -p 80:80 -p 443:443 wordpress:4.9.1
-v /mnt/c/Users/tattu/dev/docker/html:/var/www/html
でホスト側のディレクトリとDockerコンテナ内のディレクトリを共有し、WordPressのテンプレートファイルをホスト側のエディタから編集可能にします。
(MySQLの方で同じ方法で共有をかけるとエラーになってしまい出来ませんでした。エラー解決できるまではこの方法でやります。)
コンテナの一覧を表示するには下記のコマンドを使用する。
$ docker ps -a
一覧のコンテナが以下のように表記される。
f602f612e2d7 wordpress "docker-entrypoint.s…" 6 minutes ago Up 6 minutes 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp wordpress
6c7f36c22e4e mysql:5.7.25 "docker-entrypoint.s…" 6 minutes ago Up 6 minutes 33060/tcp, 0.0.0.0:3307->3306/tcp mysql5.7.25
##2.3動作確認
chromeのURL欄にhttp://localhostと入力してwordpressが開かれれば大丈夫です。
#3.まとめ
初めてWSL2とdockerを使い、wordpressをローカル環境で使用することができました。
詳しいことは書かずに手順だけを書きましたが意味は別の記事で書いていこうと思います。
初めてlinuxを触ってみて最初は慣れないと感じましたが触ってるうちに慣れていくのだろうと思いました。
(コマンド自体にまだ慣れていない)
何もいじってないコンテナなどはどんどん壊して言っても大丈夫って助言をもらったのでいろいろ試していこうと思う。