workerでもなくwokerでもなくwockerです。
wockerでWP開発が劇的に楽になるという話を聞いて使ってみました。すっごいいい子です。
http://wckr.github.io/にあるような感じで導入は凄くシンプル
$ vagrant plugin install vagrant-hostsupdater
$ git clone https://github.com/wckr/wocker.git && cd wocker
$ vagrant up
http://wocker.dev
でサイトが確認可能。
http://wocker.dev/wp-admin/
で管理画面が確認可能。
(ログインパスワードは admin/admin)
概要
wockerは複数のwordpressをコンテナ
と呼ばれるまとまりで扱い、
複数のWordpress環境を瞬時に切り替えたりできるシステム。
vagrant
で立ち上げた仮想環境上に複数のwordpressコンテナを配置し、
内部で特定のコンテナを立ち上げ、Wordpressとしてブラウザから確認することが出来る。
コンテナの管理
デフォルトではwocker
という名前のコンテナが走っている。
vagrant ssh
でvagrant仮想環境に入ると、CoreOSのマシンがあり、wocker
コマンドを利用する事ができる。
core@wocker ~ $ wocker
Usage: wocker COMMAND
Commands:
destroy Force remove all containers and related files.
kill CONTAINER Kill a running container using SIGKILL or a specified signal.
rm [-f|--force] CONTAINER [CONTAINER...] Remove one or more containers.
[-f, --force] Force the removal of a running container (uses SIGKILL)
run [--name=""] [IMAGE] Run a new container.
Default docker image: wocker/wocker:latest
start CONTAINER Restart a stopped container.
stop CONTAINER Stop a running container by sending SIGTERM and then SIGKILL after a grace period.
update Update Wocker to the latest version.
version | --version | -v Show the Wocker version information.
コンテナの停止
core@wocker ~ $ wocker stop {CONTAINER_NAME}
コンテナの起動
core@wocker ~ $ wocker start {CONTAINER_NAME}
複数のwockerコンテナを同時に立ち上げることは出来ない。
必ず実行中の物をstopしてからstartすること。
コンテナの作成
core@wocker ~ $ wocker run --name="{CONTAINER_NAME}"
既にあるコンテナの名前は使えない。
コンテナは作成と同時に起動するため、こちらもコンテナをstopしてから。
コンテナの削除
core@wocker ~ $ wocker rm {CONTAINER_NAME}
destory
で全部消せます。こういうコマンド怖い。
現在実行中のコンテナを取る
docker コマンド叩く。
core@wocker ~ $ docker ps
NAMEの所に、コンテナ名が出る。
現在実行中のコンテナに入る
core@wocker ~ $ docker exec -it {CONTAINER_NAME} bash
it
がなんなのかはよく分かってません。
Wordpressのカスタマイズ
wockerのディレクトリ内 data
ディレクトリに、コンテナ名でwordpressファイルが保存されている。
vagrantでファイル同期が取られているので、そこを触れば開発確認とかできる模様。
なお、通常コンテナにはWP CLIが入ってるのでコンテナに入ればwp
コマンドが使える。
プラグインのインストールや設定の変更などをシェルスクリプトベースで記述する事が可能。
root
で入る形になるので--allow-root
オプションを忘れずに
wp
コマンドについては、http://wp-cli.org/を参考に。
デフォルトコンテナの編集
デフォルトはwocker/wocker:latest
が使われる。
https://registry.hub.docker.com/u/wocker/wocker/
中身は非常にシンプル。runコマンドに引数でコンテナ指定もできるっぽいのでそれでなんとかなる?
必要になったら試してみたい。
わからなかったこと
wockerコマンドは基本的な部分を提供してくれるだけなので、docker力がある程度あったほうが良さそう。
自分はdocker力 皆無なので色々勉強しなきゃなぁと思いました。
- mysql workbench とかで DB覗き見る方法(docker execしなきゃ…とか書いてたから無理?)
- このVAGRANTにvangrant ssh以外でssh入る方法
- stop/killの違い
wockerコマンドはdockerコマンドのラッパーになってるみたいで、
wocker ps
とかしてもdocker ps
の結果が得られるっぽい(詳しく全てのdockerコマンド全てを叩いてないので詳細は不明)。
ただやっぱりwocker/dockerコマンドの取り扱いは、docker出来ない系の人にはオススメしがたい要因になっちゃいそうなので、
基本的な操作系が全部wocker --help
にまとまってると便利だなぁとは思った。
具体的にはwocker側に下記あたりのコマンドがあったらいいなぁと思いました。
- wocker info : 引数なしで現在実行中のコンテナ名を返す
- wocker create : 現在実行中のコンテナを止めて、新規コンテナを作成する。
- wocker start/stop の引数省略版
- wocker exec : 引数なしで現在実行中のコンテナに入る。引数付きでコンテナをスイッチして入る。
5.17 追記
wockerよく使うコマンド集、がwockerの公式サイトにUPされました!! ありがとうございます!!
docker力なくても一通りの事は、何とかなりそう!!