My開発メモ

DockerでWordPress (Ubuntu)

やっとDockerでWordpressが動いたので、そのメモ。

docker-compose.yml

version: '3'

services:
  db:
    image: mysql:5.7
    volumes:
      - ./db_data:/var/lib/mysql
    restart: always
    container_name: mysql
    environment:
      MYSQL_ROOT_PASSWORD: wordpress
      MYSQL_DATABASE: wordpress
      MYSQL_USER: wordpress
      MYSQL_PASSWORD: wordpress

  wordpress:
    depends_on:
      - db
    image: wordpress:latest
    volumes:
      - ./themes/pacific:/var/www/html/wp-content/themes/pacific
    links:
      - db
    ports:
      - "8000:80"
    restart: always
    container_name: wordpress
    environment:
      WORDPRESS_DB_HOST: db:3306
      WORDPRESS_DB_USER: wordpress
      WORDPRESS_DB_PASSWORD: wordpress

volumes:            <== 必要ない(2018.07.04追記)
  db_data:          <==   〃
    driver: local   <==   〃

これは、ここのを参考にさせてもらった。

Dockerでワードプレスのローカル環境を構築

$ docker-compose up

これで、http://localhost:8000/ でwordpressに接続できる。

データの移行

とりあえず、使ったコマンドを忘れないようにメモ。

まず、もとのvccwからデータベースをダンプする。

vccw:$ mysqldump -u wordpress -p wordpress > mysql_dump.sql

ふたつめのwordpressは、データベース名である。

ホストからコンテナに mysql_dump.sql をコピーする。

$ ID=$(docker ps -f name=mysql -q)
$ docker cp mysql_dump.sql $ID:/tmp/mysql_dump.sql

次に、このダンプファイルをdockerコンテナのmysqlに読み込ませる。

$ docker exec -it $ID /bin/bash
mysql:# mysql -u wordpress -p wordpress < /tmp/mysql_dump.sql

このmysqlは、mysqlコンテナに「mysql」という名をつけたのである。

あとは、データベースの中のURLを新しいのに変えるとよい。

wp-cliはうまくいかなかった

これを wp-cli でやろうと思ったのだが、うまくいかなかった。

wp search-replace 旧URL 新URL –skip-columns=guid –allow-root

とやると、データベースの「WordPressがない」と言われたのである。

wordpress という名にしていたからかな。

Search-Replace-DB-masterを使う

そこで、「Search-Replace-DB-master」を使った。

参考サイトは、WordPress移行時にURLをSQLで直接一括置換はダメ! 「Search and Replace for WordPress Databases Script」を使おう である。

ダウンロードしたファイルを解凍したら、フォルダができるから、Wordpressをインストールした一番上のフォルダの中にフォルダごと置く。 に

http://localhost:8000/Search-Replace-DB-master/ にアクセスして、変換をおこなう。

これで、いけてる。

Searchうんぬんフォルダは、削除しておく。

プラグインについては、ひとつひとつインストールしなおした。

Dockerfileに記述するやり方があるようだが、それはまた今度にする。

DockerでのWordpressは、本当に早い。VCCWとは比べ物にならない。

カテゴリー: Docker, memo, wordpress

タグ: Docker, wordpress

カウント: 203