2015年11月23日月曜日

久しぶりにMacでDockerを動かそうとした

このエントリーをはてなブックマークに追加

最近、あまり用事がなかったので無かったので、MacにインストールしたDocker環境をほったらかしにしてたけど、久しぶりに触ろうかと思ったらDockerのバージョンアップと共にBoot2DockerからDocker Toolboxに変更になっていた。

以下、メモ。以前インストールしていたBoot2Dockerはアンインストールしていないけど。。。

ちなみにインストール手順はDockerの公式ドキュメントである"Get Started with Docker for Mac OS X"を参考にした

Docker Toolboxのページから"Download (Mac)"をクリックしダウンロードする。

こんな感じでインストーラが動くので指示に従って進める。


iTermで動かすとこんな感じで起動されるので、ターミナルを眺める。

Creating Machine default...
Creating CA: /Users/xxx/.docker/machine/certs/ca.pem
Creating client certificate: /Users/xxx/.docker/machine/certs/cert.pem
Running pre-create checks...
Creating machine...
(default) OUT | Creating VirtualBox VM...
(default) OUT | Creating SSH key...
(default) OUT | Starting VirtualBox VM...
(default) OUT | Starting VM...
Waiting for machine to be running, this may take a few minutes...
Machine is running, waiting for SSH to be available...
Detecting operating system of created instance...
Detecting the provisioner...
Provisioning created instance...
Copying certs to the local machine directory...
Copying certs to the remote machine...
Setting Docker configuration on the remote daemon...
To see how to connect Docker to this machine, run: /usr/local/bin/docker-machine env default
Setting environment variables for machine default...


## .
## ## ## ==
## ## ## ## ## ===
/"""""""""""""""""\___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ / ===- ~~~
\______ o __/
\ \ __/
\____\_______/


docker is configured to use the default machine with IP 192.168.99.100
For help getting started, check out the docs at https://docs.docker.com

はい終了。


dockerコマンドで確認する。

# docker version
Client:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.4.3
 Git commit:   a34a1d5
 Built:        Fri Nov 20 17:56:04 UTC 2015
 OS/Arch:      darwin/amd64

Server:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.4.3
 Git commit:   a34a1d5
 Built:        Fri Nov 20 17:56:04 UTC 2015
 OS/Arch:      linux/amd64

VirtualBoxの画面を見ると以前のBoot2Dockerのvmはそのまま、新しいDocker Machineは"default"で作成されている。昔のは捨ててしまおう。


以前の boot2dockerコマンドはすべて docker-machineコマンドに置き換えられている。

こんな感じ。

$ docker-machine ls
NAME      ACTIVE   DRIVER       STATE     URL                         SWARM
default   *        virtualbox   Running   tcp://192.168.99.100:2376

$ docker-machine status default
Running

$ docker-machine stop default

$ docker-machine start default
(default) OUT | Starting VM...
Started machines may have new IP addresses. You may need to re-run the `docker-machine env` command.
$ docker-machine env default
export DOCKER_TLS_VERIFY="1"
export DOCKER_HOST="tcp://192.168.99.100:2376"
export DOCKER_CERT_PATH="/Users/fumio/.docker/machine/machines/default"
export DOCKER_MACHINE_NAME="default"
# Run this command to configure your shell:
# eval "$(docker-machine env default)"

今日の作業

大阪から東京への移動と私用でほぼ終了。。。

2015年11月20日金曜日

CasperJSでログインしてみよう

このエントリーをはてなブックマークに追加

今回はCasperJSを使って、よく使う朝日新聞デジタルの無料会員IDでログインをしてみる。

ログイン部分のソースを確認して,form名やテキストボックスの名前を取得する。
var user = "ユーザ名";
var pass = "パスワード";

//CasperJSオブジェクトの生成
var casper = require('casper').create();

// これ以降、run()メソッドまでの前の処理がrun()実行時に行われる
casper.start();

// ログインページへ接続
casper.open('https://digital.asahi.com/login/');

// ログインする
casper.then(function(){
// フォームを特定し、ユーザ・パスワードを入力する。
 this.fill('form[action="login.html"]', {
  login_id: user,
  login_password: pass
 }, true);
});

// ログイン後のキャプチャをとる
casper.then(function(){
 casper.capture("asahi.png");
});

casper.run();

ログインできた。


結構、なんでもサイトをいじれて便利。いろんなツールとの組み合わせでテストなどにも使えそうだ。

今日の作業

3連休、留守にします。

2015年11月18日水曜日

CasperJSでFlickrの検索結果を取得する

このエントリーをはてなブックマークに追加
先ほどの画面キャプチャの応用というか、横展開というか。

// CasperJSオブジェクトの生成
var casper = require('casper').create();

// これ以降、run()メソッドまでの前の処理がrun()実行時に行われる
casper.start();

// 画面サイズを設定
casper.viewport(1400, 800);

// UserAgent設定
casper.userAgent("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.86 Safari/537.36");

// 検索ワード
var text = encodeURIComponent("大阪");

// サイトへ接続
casper.open('https://www.flickr.com/search/?text=' + text);

// サイト接続後、capture取得
casper.then(function(){
 casper.capture("flickr-image.png",{top:0,left:0,width:1400,height:800});
});

// 処理開始
casper.run();

できたできた。


ユーザエージェントと画面サイズの変更してあげれば、iPhoneとかスマートフォンのふりをすることも可能。


今日の作業

触りで終わってしまった。