DockerでWordPressを動かす

dockerでwordpressを動かすサムネイル docker

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

コメント

タイトルとURLをコピーしました