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を使ったローカルの環境にそのまま反映させる方法を紹介しました。

スポンサードリンク

関連コンテンツ

オススメ記事

ショートコード

BEMによるCSS設計の方法を解説。命名規則から使い方まで。

完璧を求めすぎて、平均以下な@It_is_Rです。 CSSは比較的簡単なものですが、CSS設計をしっかりしておかなければ、余分なコードが多くなったり、後から修正が大変になったりしてこまることにな

SCSS vs SASS どっちが便利か違いを比較。おまいら SASS 使えよ!

CSS を書くときに、 Sass はもう手放せません。 @It_is_R です。 さて、今回のテーマとなる Sass の表記には、2種類ありますよね。 SCSS と、 SASS です。

FC2 blog customize

FC2ブログ ”最強” カスタマイズ入門講座。文字の大きさを設定する。

こんにちわ。美しいものほど濁って見える@It_is_Rです。 今回もFC2ブログの"最強"カスタマイズを始めていこうと思います。 今回は文字の大きさや色など、ブログ内の文字の設定をしていきます

ファイルを分けるべよ!

小学生からのJavaScript入門。ファイルを分けて管理してみよう!

小学生からのJavaScript入門講座(にゅうもんこうざ)、第5弾です。 前回はりこちゃんを方向キーで操作(そうさ)することができるようになりました。 しかしプログラムを作ってくと、コンピュ

Swift

【Xcode7】Swift2でMacアプリ開発。Storyboardでボタンを作る。

喧嘩するほど仲がいいとは言いますが、喧嘩する相手がいません。友達がいないということでしょうか。@It_is_Rです。 前回、StoryboardでMacのウィンドウに文字を表示しました。しかし、

【Android Studio】 GridLayout の使い方。複雑なレイアウトを表現する方法

スマホの充電がいつの間にか無くなっている@It_is_Rです。 Androidアプリ開発、10回目となりました。 前回、様々なレイアウトの使い方を紹介しましたが、今回はその中でもちょっと難しい

Android アプリ開発入門! Android Studio のインストール手順。

人の笑顔が大嫌い。 @It_is_R です。 Android アプリ開発では、 Eclipse や Android Studio を使ってアプリを開発するのが一般的です。 一般的に言語は Ja

【Gitの使い方 – その3】Gitで実際にバージョン管理してみよう!

お魚くわえた@It_is_Rです。 Gitの使い方第3回目の今回は、実際にGitを使ってバージョン管理をしてみようと思います。 [serif name="It is R"]りこ師匠

オブジェクトを使ってみよう!

小学生からのJavaScript入門。オブジェクトを使ってみよう!

小学生からのJavaScript入門講座(にゅうもんこうざ)、第6弾です。 前回の講座(こうざ)では、HTMLやCSS、JavaScriptを分けて管理(かんり)する方法を紹介しました。 今回

scratch

小学生から始めるScratch入門。使い方とゲーム開発の基礎知識

小学生から始めるプログラミング入門です。 前回の記事で、プログラミングってどういうものなのか何となく理解してもらえたでしょうか? 少しだけScratch(スクラッチ)についてもふれましたが、ま

コメントをどうぞ!

メールアドレスが公開されることはありません。