Docker Remote API を使ってみる
これがやりたいがためにローカル環境に Docker を構築したといってもいい。ここを突破したら、API 使って Web フロントエンドの開発をするつもり。
ググったらまた使い方出てきた。
とりあえず、Remote API を使える状態にして、curl からレスポンスを確認するところまでやってみる。
Remote API の有効化
/etc/init/docker.conf
を編集する。設定ファイルのように見えて内容はスクリプト。中ごろに DOCKER_OPTS=
となっている行があるのでここを編集する。
$ sudo vi /etc/init/docker.conf
script # modify these in /etc/default/$UPSTART_JOB (/etc/default/docker) DOCKER=/usr/bin/$UPSTART_JOB # DOCKER_OPTS= DOCKER_OPTS=' -H tcp://0.0.0.0:2376 -H unix:///var/run/docker.sock' if [ -f /etc/default/$UPSTART_JOB ]; then . /etc/default/$UPSTART_JOB fi exec "$DOCKER" -d $DOCKER_OPTS end script
設定を終えたら、Docker サービスを再起動。
$ sudo service docker restart docker stop/waiting docker start/running, process 15741
Remote API の動作確認
Curl を使って、API の動作確認をする。Ubuntu にはデフォルトで Curl が入っていないので、インストールしてから確認する。
$ sudo apt-get install curl ... $ curl http://localhost:2376/images/json [{"Created":1422470699,"Id":"f90095a67f5b0d8d22c3195e75b4d5b93eb894479d93f714512747fb15098bf9","ParentId":"739aef46f6f646ceca836a93b5166235cd32fb915aa8dbb7db86f703a990d8df","RepoTags":["httpd:latest"],"Size":0,"VirtualSize":159369766} ]
無事に動いた。今回リクエストしたエンドポイントは、イメージの一覧を確認するものなので、Docker イメージを準備していない場合は docker pull
を使用して、事前に Docker イメージを用意しておく。
念のため、今回の検証環境
$ uname -a Linux ubuntu 3.16.0-31-generic #41~14.04.1-Ubuntu SMP Wed Feb 11 19:30:13 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux $ docker --version Docker version 1.5.0, build a8a31ef