WordPressをGit管理したい!とふと思ったのですが、そもそもWordPressをローカルで動かしたことがなかったので、DockerでWordPressがローカルで動くようにしてみます。
環境構築
Dockerのインストール
Dockerについて
Dockerはコンテナの仮想化ソフトで、VmwareやVirtual Boxなどのホスト型やハイパーバイザー型の仮想化に比べて起動が早く、またOS等が個々の仮想化に含まれない分効率よくリソースを使うことができます。また、ApacheのサーバやMySQLなど多くのDockerイメージが配布されていて、それを使用することで比較的楽に動作環境を準備することができます。
そして、コードベースで環境構築を管理するので、Dockerの構築ファイル(後に記述)コピペしてDockerを動かすだけで簡単に完了します。
インストール
Dockerアカウント作成
Docker Hubのページからアカウントを作成します。
https://hub.docker.com/
ダウンロードとインストール
以下のURLからダウンロードしてインストールをします。
【Mac】
https://hub.docker.com/editions/community/docker-ce-desktop-mac
【Windows】
https://hub.docker.com/editions/community/docker-ce-desktop-windows
WordPress構築
WordPressの動作に必要なのはWEBサーバ(Apacheやnginxなど)、PHP、データベース(MySQLなど)が必要です。しかし、これらを一から設定していくのは時間がかかります。レンタルサーバなどではすでに動作する状態になっているので、それをわざわざ動くように環境構築するのは正直無駄が多いです。
そこで、DockerのWordPressのイメージを利用していきます。それを使用することで環境を作成することが非常に楽になります。
フォルダ作成
どこでもいいですが、PC内に構築用のフォルダを作成します。
次にその作成したフォルダ内にwordpressがインストールされるフォルダを作成します。
例)適当なフォルダ内にプロジェクトフォルダがwordpress_test、wordpressがインストールされるフォルダがwpの場合
適当なフォルダ/wordpress_test/wp
構築ファイル作成
DockerでWordPressの環境を作成するためのファイルをプロジェクトフォルダ内(上記の例だとwordpress_testの直下)に作成します。
ファイル名は「docker-compose.yml」で作成しましょう。
version: '3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
volumes:
- ./XXX:/var/www/html #「XXX」には作成したwordpressがインストールされるフォルダ名(例だとwp)を記述します。
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
volumes:
db_data:
Docker起動
ターミナルやコマンドプロンプトを立ち上げて、プロジェクトフォルダに移動します。
次にそこで以下のコマンドを実行します。
docker-compose up -d
起動確認
http://localhost:8000にアクセスしてWordPressの画面が表示されていれば完了です。
Docker停止
使用していない時は以下のコマンドで停止します。
docker-compose stop
コメント