2015年11月24日火曜日

DockerでCentOSのコンテナを作る

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

CentOSのコンテナを作成したいと思うので、docker searchコマンドで確認する。

$ docker search centos
NAME                                        DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
centos                                      The official build of CentOS.                   1652      [OK]
jdeathe/centos-ssh                          CentOS-6 6.6 x86_64 / EPEL/IUS Repos / Ope...   11                   [OK]
blalor/centos                               Bare-bones base CentOS 6.5 image                9                    [OK]
million12/centos-supervisor・・・
:
:
:
見つけた一番上のOffcialイメージをダウンロードする。
$ docker pull centos
Using default tag: latest
latest: Pulling from library/centos
fa5be2806d4c: Pull complete
0cd86ce0a197: Pull complete
e9407f1d4b65: Pull complete
c9853740aa05: Pull complete
e9fa5d3a0d0e: Pull complete
Digest: sha256:c96eeb93f2590858b9e1396e808d817fa0ba4076c68b59395445cb957b524408
Status: Downloaded newer image for centos:latest
イメージができているか確認する。
$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
centos              latest              e9fa5d3a0d0e        5 weeks ago         172.3 MB
起動して確認する。
$ docker run -t -i centos:latest /bin/bash
[root@25fc2734ad99 /]# ls
bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@25fc2734ad99 /]# whoami
root
[root@25fc2734ad99 /]# systemctl list-unit-files
UNIT FILE                            STATE
proc-sys-fs-binfmt_misc.automount    static
dev-hugepages.mount                  masked
dev-mqueue.mount                     static
proc-sys-fs-binfmt_misc.mount        static
:
:
終わって、コンテナ自体も終了しているか確認する。
[root@25fc2734ad99 /]# exit
exit
$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
25fc2734ad99        centos:latest       "/bin/bash"         11 minutes ago      Exited (0) 4 seconds ago                       jovial_meninsky

今日の作業

大阪へ戻ります。

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連休、留守にします。