Dockerでお手がるWordPress実行環境構築

バックアップしてあったWordPressの中身が必要だったのでDockeでWordPress実行環境の構築と復元のメモ。

Windwos10にDocker Desktop for Windowsをインストール済みで、復元元のWordPressフォルダとsqlファイルのダンプが存在する前提です。

DockeでWordPress実行環境構築

手順は基本的に公式サイトの内容でOK

https://docs.docker.jp/compose/wordpress.html

docker-compose.ymlを作成

version: '3'
services:
   db:
     image: mysql:5.7
     volumes:
       - db_data:/var/lib/mysql
     restart: always
     environment:
       MYSQL_ROOT_PASSWORD: [rootpassword]
       MYSQL_DATABASE: [databasename]
       MYSQL_USER: [databaseuser]
       MYSQL_PASSWORD: [databesepassword]

   wordpress:
     depends_on:
       - db
     image: wordpress:latest
     ports:
       - "8000:80"
     restart: always
     environment:
       WORDPRESS_DB_HOST: db:3306
       WORDPRESS_DB_NAME: [databasename]
       WORDPRESS_DB_USER: [databaseuser]
       WORDPRESS_DB_PASSWORD: [databesepassword]
volumes:
    db_data:

[xxxxxxx]はバックアップ元の情報にあわせて記入。

Compose実行

> docker-compose up -d

この段階でコンテナが作成されてインスタンスが起動しているはず、webブラウザでhttp://localhost:8000を開くとWPの初期設定画面が出るハズ。

新規インストールならこのまま設定を行えばWordPress実行環境の完成です。

続いて元データの復元作業に入ります。

その前にこのあと生成されたコンテナ名が必要になるので確認しておく。

APP名_wordpress_xとAPP名_db_xといった感じのコンテナ名になっているハズ。

vimをインストール

viもvimも入っていないハズなのでvimをインストール。

> docker exec -it [wordpress_container] /bin/bash
# apt-get update
# apt-get install vim

> docker exec -it [wordpress_container] /bin/bashでコンテナに入れます。
[wordpress_container]は確認したコンテナ名に入れ替えてください。

 

DBをリストア

コンテナにダンプしたsqlファイルを転送

> docker cp -rf [wordpressdump].sql [wordpress_db_container]:/home/[wordpressdump].sql

[wordpressdump].sqlは実際のファイル名に合わせてください。

コンテナに入ってDBをリストア

> docker exec -it [wordpress_db_container] /bin/bash
# cd /home
# mysql -u [databaseuser] -p[databesepassword] -D [databasename] < [wordpressdump].sql

バックアップファイルの復元

wp-config.phpは新規インストールした方を使用するのでバックアップを取ります。

> docker exec -it [wordpress_db_container] /bin/bash
# cp wp-config.php _wp-config.php

Windowsからバックアップファイルをコンテナに転送

> docker cp [wordpress_backup_dir] [wordpress_db_container]:/var/www/html

wp-config.phpをリストア

> docker exec -it [wordpress_container] /bin/bash
# cp _wp-config.php wp-config.php

WordPressのURLを変更

DBに元サイトのURLが書き込まれているハズなので、これをローカル環境にあわせて書き換え

> docker exec -it [wordpress_db_container]_1 /bin/bash
# mysql -u [databaseuser] -p[databesepassword] -D [databasename]
UPDATE wp_options SET option_value = 'http://localhost:8000/' where option_name IN ('home','siteurl');

homeとsiteurlの内容を確認

SELECT * FROM wp_options WHERE option_name IN ('home','siteurl');

homeとsiteurlの内容が書き換わっていれば完了。

 

コメントを残す

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

CAPTCHA