1. TOP
  2. Webサービス
  3. Wockerの既存コンテナを新しいコンテナに引っ越しさせる方法~第49回 WordBench神戸振り返り記事その1

Wockerの既存コンテナを新しいコンテナに引っ越しさせる方法~第49回 WordBench神戸振り返り記事その1

|

Wapuu

いま、WordPressで新しいWebサイトを運営することを考えています。そのサイトはWockerを使って開発していますが、コンテンツを少しずつ書き足しながらテーマもつくるというスタイルです。

そのため、開発している子テーマはいまいち気にくわないんだけど、コンテンツはそのまま保持しておきたいということが、頻繁に発生します。

コンテナ間での「引っ越し」について

wocker_copy_2

そうなってくると、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ファイルが生成されます。

wocker_copy3

3.コピー元のディレクトリをコピー

wocker_copy

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”もしているからです。アドバイスありがとうございました。

〔参考サイト〕