いま、WordPressで新しいWebサイトを運営することを考えています。そのサイトはWockerを使って開発していますが、コンテンツを少しずつ書き足しながらテーマもつくるというスタイルです。
そのため、開発している子テーマはいまいち気にくわないんだけど、コンテンツはそのまま保持しておきたいということが、頻繁に発生します。
コンテナ間での「引っ越し」について
そうなってくると、Wockerの既存のコンテナを保持しつつ、新しいコンテナを立てて、サイト全体の差分を確認しながら作業を進めていくことになります。
ようは、Wocker間での「引っ越し」をできるようにしたいということですね。Wocker間での「引っ越し」は、まったく分からなかったので、WordBench神戸でその方法を教えてもらってきました。
「引っ越し」の手順
「引っ越し」の方法を非常にざっくりというと、
- 複製元のコンテナでsqlファイルをエクスポートする
- 新しいコンテナでそのsqlファイルをインポートする
の2点になりますが、コマンドライン操作を交えながらもう少し詳しく見ていきましょう。
1.コピー元のコンテナに入る
wocker start wocker_9
wocker_9というのは任意のコピー元のコンテナであると考えてください。
2.コピー元のコンテナで使っているsqlファイルをエクスポートする
wocker wp db export または wocker wp db export wocker_9.sql
エクスポートすると、コピー元のディレクトリの直下にsqlファイルが生成されます。sqlファイルの名前を指定せずにエクスポートした場合は、”wordpress.sql”が生成され、sqlファイルの名前を指定した場合は、その名前のsqlファイルが生成されます。
3.コピー元のディレクトリをコピー
dataディレクトリの直下にコピー元である、”wocker_9″を複製します。名前は何でもいいんですが、とりあえず”wocker_9_copy”としておきましょう。
4.コピー元のコンテナをストップして新しいコンテナを作成
wocker stop wocker_9 wocker run --name wocker_9_copy
2行目で新しく立ち上げたコンテナの名前は、3で作成したディレクトリと同じ名前にします。
5.新しいコンテナにsqlファイルをインポート
wocker start wocker_9_copy wocker wp db import wordpress.sql
新しく作成したコンテナで、コピー元のsqlファイルを実行します。以上、1~5の作業でWocker間の「お引っ越し」が完了します。関係者のみなさま、ありがとうございました!
2015/12/28 追記
この記事の公開後、内容を読んでいただいた方からご指摘をいただき、5で使っているコマンドの
wocker start wocker_9_copy
は、不要とのことです。4で”wocker run”をした時点で、”start”もしているからです。アドバイスありがとうございました。
〔参考サイト〕