1. HOME
  2. »
  3. プログラミング・Web
  4. »
  5. Docker
  6. »
  7. Docker Composeで自分のWordPressサイトをローカル開発環境に反映!

Docker Composeで自分のWordPressサイトをローカル開発環境に反映!

ローカルにWordPress開発環境を整えてテーマを作成することがあるのですが、単にローカルに環境を作っただけでは記事がなく、テーマのイメージが分かりません。@It_is_Rです。
かといって、testtestを繰り返して記事をつくるのも大変ですし、やっぱり自分のサイトをそのままローカルの開発環境にも反映させたいのでございます。

そんなわけで、今回はDocker Composeを使ったローカル開発環境に、自分のWordPressサイトを反映させる方法を紹介します。

目次
  1. Docker ComposeでローカルにWordPressの環境を整える
  2. 自分のサイトをローカルのWordPress環境に反映させる
  3. リンク先を変更する
  4. まとめ

Docker ComposeでローカルにWordPressの環境を整える

ではまず、Docker Composeを使ってローカルにWordPressの環境を整えてみましょう。

まず、好きな場所にフォルダを作り、その中へ移動します。今回は「mysite」というフォルダを作成しました。

$ mkdir mysite
$ cd mysite

そこにdocker-compose.ymlというファイルを作成します。

$ vim docker-compose.yml

docker-compose.ymlの中は以下のようにします。

version: '3'
services:
    wp:
        image: wordpress:latest
        ports:
            - "80:80"
        depends_on:
            - mysql
        volumes:
            - ./wordpress:/var/www/html/
        environment:
            WORDPRESS_DB_PASSWORD: p4ssw0rd
            WORDPRESS_DB_NAME: wp
        restart: always
    mysql:
        image: mysql:5.7
        environment:
            MYSQL_ROOT_PASSWORD: p4ssw0rd
            MYSQL_DATABASE: wp
        volumes:
            - ./db-data:/docker-entrypoint-initdb.d
        restart: always

さらに、次のコマンドを実行します。

$ docker-compose up

しばらくしてからhttp://localhost/を確認すると、WordPressの初期設定の画面が表示されます。

確認できたら、いったんctrl + cでストップします。

自分のサイトをローカルのWordPress環境に反映させる

続いて、自分のサイトをローカルに反映させたいと思います。

必要なデータは自分のサイトの「wp-content」フォルダ、データベース、そしてSearch Replace DB masterです。これらはあらかじめ準備しておいてください。

この「Search Replace DB master」は、後ほどurlを書き換える時に使用します。
こちらからダウンロードしておきましょう。

さて、この状態で現在のディレクトリを確認してみると、「db-data」と「wordpress」というフォルダが増えているのが分かります。

このdb-dataフォルダの中に、自分のWordPressサイトのデータベースファイル(xxxxx.sql)を入れます。
また、wordpressフォルダの中の、wp-contentを自分のサイトのwp-contentに置き換えます。
さらにwordpressフォルダの中に、先ほどダウンロードしたSearch-Replace-DB-masterを入れてください。

このままでは先ほどのコンテナが残っていますのでdownしておきましょう。

$ docker-compose down   
Stopping mysite_wp_1    ... done
Stopping mysite_mysql_1 ... done
Removing mysite_wp_1    ... done
Removing mysite_mysql_1 ... done
Removing network mysite_default

もう一度立ち上げてみましょう。今度はオプションをつけてバックグラウンドで起動してみます。

$ docker-compose up -d
Creating mysite_mysql_1 ... done
Creating mysite_wp_1    ... done

しばらく待ってみて、もう一度http://localhost/を開いてみます。

すると、自分のサイトがそっくりそのまま見れるようになります。

リンク先を変更する

しかしこのままだと、例えば記事へのリンクをクリックすると、本当のサイトへリンクされてしまいます。
そこで、リンク先をローカルのものに変更しましょう。

http://localhost/Search-Replace-DB-master/を見てみます。
すると次のような画面が表示されます。

Search Replace DB master

search for… : 元のurl
replace width … : 新しいurl

つまり今回は「search for…」の部分に自分のサイトのURL(xxxxx.comなど)を、「replace width…」の部分にlocalhostと入力します。
もしsslを使っている場合は、「search for…」の部分に「https://xxxxx.com」、「replace width…」の部分に「http://localhost」と入力すればいけるみたいです。

そしてまず「dry run」をクリックして、問題がなければ「live run」を押します。

これでURLが変更され、ローカルのページへのリンクに書き換わります。

まとめ

ローカルにWordPress開発環境を整えてテーマを作成するとき、やはり本来のサイトとローカルのサイトは同じものにしたいです。
今回はリモートのWordPressサイトを、Docker Composeを使ったローカルの環境にそのまま反映させる方法を紹介しました。

スポンサードリンク

関連コンテンツ

オススメ記事

【Android Studio】TextView 文字の色やサイズ、書体を変更する方法。

サイズは大きいほど、押しがいがあります。@It_is_Rです。 スマホのボタンの話ですよ。何を考えてたんですか? Androidアプリ開発、8回目となりました。 今回はこれまでに学習した T

Homebrew

Homebrewの使い方。よく使うコマンド一覧と詳しい解説まとめ

※追記 この記事は2018/04/30に最新の情報に書き直しました。 人生をもう一度やり直したいとつくづく思う@It_is_Rです。 今回はHomebrewについての記事を書いて

HTML CSS

CSSでの円の作り方と、その上下左右中央に文字を表示する方法

サイトを作る時、円形のパーツを作りたい時ってよくありますよね。 円はCSSで簡単に作ることができます。 さらに今回はCSSで作成した円の中央に文字を置く方法も紹介します。 CSSでの

おみくじゲームを作るべ!

JavaScriptでおみくじを作ろう! 小学生からのプログラミング入門

さて、今日も楽しく、プログラミングを学んでいきましょう!今回はなんと、プログラミングでおみくじゲームを作ってみます。 そして今回から、Scratch(スクラッチ)より、少しレベルアップして、J

WordPress のテーマ開発に絶対必須な gulp プラグイン9選!

3Dゲームに酔ってしまう@It_is_Rです。 今回は、テーマを自作するのに必須な gulp プラグインの紹介と使い方について書いていきます。 gulp について gulpは、sas

Gitの使い方。バージョン管理する流れを、実際にやってみよう

こんにちは。@It_is_Rです。 前回「【Mac】Gitのダウンロードとインストールの手順」では、Gitのインストーラを公式サイトからダウンロードしてインストールする方法と、Homebrew

Scratchでピアノを 作ってみよう!

Scratchでピアノ鍵盤を作って音を鳴らそう! 小学生からのプログラミング入門

小学生から始めるScratch入門です。 前回はじゃんけんゲームを作りました。 今回はピアノの鍵盤を作って、音を鳴らしてみましょう。 プロローグ [serif icon="aru-s.jpg"

【Android Studio】Button(ボタン)を作る基本中の基本。

ボタンを作る基本中の基本ですが、ボタンを作ること自体が基本中の基本です。@It_is_Rです。 タイトルなんてどうだっていいんです。肝心のなのは真心です。 Androidアプリ開発、7回目とな

wordpress

WordPress管理画面のテーマカスタマイザーに独自の項目を追加。

WordPressみたいに私自身の人生もカスタムできたらいいのに。@It_is_Rです。 WordPressのカスタマイズは、公開しているサイトだけではありません。 管理画面をカスタマイズする

bootstrap3

Bootstrap3でサイトのレイアウト。グリッドシステムの使い方と裏技。

開発中のゲームはサイト制作に入っております。@It_is_Rです。 前回に引き続き、Bootstrap3の記事です。 サイトを作るとき、CSSなどを使ってサイトのレイアウトを調節したりしますが

コメントをどうぞ!(コメントは承認後に反映されます)

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です