wordpressをDockerで動作させる
どんな開発でもローカルで環境構築をするのは一苦労するのが現実ですが
今回はDockerを使用してwordpressの環境をローカルで作ってみようと思います。
※私はwindowsユーザですので、mac環境では動作しない可能性がありますが、ご了承のほど。。
環境
・windows11
・Docker version 1.29.2
前提
・WSL2で環境構築がされている
・Docker Desctopがインストールされている
構築
作業ディレクトリの作成
適当な作業ディレクトリ(wordpress_devとします)を作成
1 2 |
$ mkdir ~/wordpress_dev $ cd ~/wordpress_dev |
docker-compose.ymlを生成
cdで移動後、docker-compose.ymlを作成します。
docker-compose.ymlについては公式からアナウンスされているので
参考にしつつphpMyAdminの情報を追加しています。
ただ、公式ドキュメントを丸コピすると
インデントがずれてる旨のエラーになるため一部修正しています
※公式ドキュメント:https://docs.docker.jp/compose/wordpress.html#id2
1 2 3 4 |
ERROR: yaml.parser.ParserError: while parsing a block mapping in "./docker-compose.yml", line 1, column 1 expected <block end>, but found '<block mapping start>' in "./docker-compose.yml", line 18, column 2 |
内容はこちら
viかファイル移動でファイルを生成してください
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
version: "3" services: db: image: mysql:5.7 volumes: - ./db/mysql:/var/lib/mysql restart: always environment: MYSQL_ROOT_PASSWORD: root_pass_sirankedo MYSQL_DATABASE: wordpress_db MYSQL_USER: user MYSQL_PASSWORD: user_pass_nanka_tekitouni wordpress: depends_on: - db image: wordpress:latest volumes: - ./wordpress/html:/var/www/html ports: - 8080:80 restart: always environment: WORDPRESS_DB_HOST: db:3306 WORDPRESS_DB_NAME: wordpress_db WORDPRESS_DB_USER: user WORDPRESS_DB_PASSWORD: user_pass_nanka_tekitouni phpmyadmin: depends_on: - db image: phpmyadmin/phpmyadmin:latest restart: always ports: - 8888:80 |
docker-compose実施
mysqlやwordpressのimagesが存在しない場合は
ダウンロードから作成まで実行されるため
5分程掛かりますが、構築してる感があって自分的には気にならない時間です。
1 2 3 4 5 6 7 8 |
$ docker-compose up -d Creating network "wordpress_default" with the default driver Pulling db (mysql:5.7)... 5.7: Pulling from library/mysql ..................... Creating wordpress_db_1 ... done Creating wordpress_wordpress_1 ... done Creating wordpress_phpmyadmin_1 ... done |
無事構築が終わり、コンテナも無事作成されています。
ウェブアクセス
作成した環境にアクセスると、
wordpressの初期画面が表示されました。
http://localhost:8080/
phpMyAdmin
docker_compose.ymlで、port8888で作成したので
こちらにアクセスすると、phpMyAdminの画面が表示されました。
http://localhost:8888/
ユーザー名とパスワードはymlに設定した
「MYSQL_USER」「MYSQL_PASSWORD」を設定すると接続できます。
これで必要最低限の環境構築ができたかと思います。
次回はgithubと連携し、ソース管理なども含めて記事にできればと思います。