docker remote api を有効にするときにちょっとハマったこと
Docker のインストールを久しぶりに行ったのですが
Versionが上がって、少し手順が変わったのでご紹介。
また、ハマってしまったことについてもメモします。
Docker をインストールするときは公式の手順に沿って
普通にインストールを行います。
https://docs.docker.com/engine/installation/
手順がしっかりドキュメントに書いてあるので ここまでで迷う点はなかったです。
環境情報はこんな感じ。
~$ uname -a Linux ip-10-50-0-211 4.8.0-28-generic #30~16.04.1-Ubuntu SMP Mon Nov 21 12:03:16 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux ~$ docker version Client: Version: 1.12.3 API version: 1.24 Go version: go1.6.3 Git commit: 6b644ec Built: Wed Oct 26 22:01:48 2016 OS/Arch: linux/amd64 Server: Version: 1.12.3 API version: 1.24 Go version: go1.6.3 Git commit: 6b644ec Built: Wed Oct 26 22:01:48 2016 OS/Arch: linux/amd64
さて、RemoteAPIを有効にしていきます。
今までは設定ファイルを /etc/systemd/docker.service.d/docker.conf に作っていましたが
どうも読み込まれない模様・・・
systemctl で一体どの設定ファイルが使われているのか調べてみると
以下のような行がみつかります。
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
~$ systemctl status docker.service ● docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2016-12-06 03:30:26 UTC; 1h 14min ago Docs: https://docs.docker.com Main PID: 15924 (dockerd) Tasks: 99 Memory: 44.5M CPU: 7.712s CGroup: /system.slice/docker.service ├─15924 /usr/bin/dockerd -H fd:// ├─15938 docker-containerd -l unix:///var/run/docker/libcon
ふむふむ
こいつをきちんと書き換えてあげればいいようです。
/lib/systemd/system/docker.service
#ExecStart=/usr/bin/dockerd -H fd:// ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375
ここで RemoteAPI 設定を tcp://localhost:2375 としてしまうと
ローカルからしかつなげることができなくなってしまうので注意です。
ここまでできたら以下のコマンドをぶっ叩いてもらうと
RemoteAPI が有効になります
systemctl daemon-reload systemctl restart docker.service
テストしてみます。
~$ curl -vvv http://172.17.0.1:2375/version * Trying 172.17.0.1... * Connected to 172.17.0.1 (172.17.0.1) port 2375 (#0) > GET /version HTTP/1.1 > Host: 172.17.0.1:2375 > User-Agent: curl/7.47.0 > Accept: */* > < HTTP/1.1 200 OK < Content-Type: application/json < Server: Docker/1.12.3 (linux) < Date: Tue, 06 Dec 2016 04:52:55 GMT < Content-Length: 198 < {"Version":"1.12.3","ApiVersion":"1.24","GitCommit":"6b644ec","GoVersion":"go1.6.3","Os":"linux","Arch":"amd64","KernelVersion":"4.8.0-28-generic","BuildTime":"2016-10-26T22:01:48.986273588+00:00"} * Connection #0 to host 172.17.0.1 left intact
OK!