4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

macOSでDocker Remote APIを利用する方法

Posted at

macでdocker remote apiを有効化する方法について調べた時のメモを残します。
(linuxだと検索すれば結構でてくるんですが、macだと該当の設定ファイル・コマンドがなかったりしてなかなか苦労しました。。)

環境

OS

>> sw_vers
ProductName:	Mac OS X
ProductVersion:	10.14.6
BuildVersion:	18G95

Docker

>> docker version ※一部抜粋
Client: Docker Engine - Community
 Version:           19.03.1
 API version:       1.40

Server: Docker Engine - Community
 Engine:
  Version:          19.03.1
  API version:      1.40 (minimum version 1.12)

socatコマンドを使う

docker daemonはデフォルトで
unix:///var/run/docker.sockでリクエストを待ち受けていますが、
リモートホストからHTTPでAPIを叩く時はTCPのポートで待ち受ける必要があります。

socatコマンドはプロキシのような働きをし、あるポートへのリクエストを指定した宛先にフォワードしてくれます。
以下のコマンドを実行することで、2376ポートへのリクエストを/var/run/docker.sockへ飛ばしてくれるようになります。

socat TCP-LISTEN:2376,reuseaddr,fork UNIX-CONNECT:/var/run/docker.sock

以下コマンドでAPIのレスポンスがjsonで返ってくることが確認できます。

curl http://localhost:2376/containers/json

※あとでもっと情報が整理できたら追記するかも。。

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?