2016-09-09 15 views
3

私はDocker for OSXを走らせており、DockerリモートAPIを動作させるのに問題があります。DockerデーモンにアクセスするMac用Docker上のリモートAPI

私の状況はこれです:

  • ドッカーのOSX上でネイティブに実行されているデーモン(https://www.docker.com/products/docker#/mac、そうではないboot2dockerバリアント)ドッキングウィンドウの画像として

んを実行していない

  • ジェンキンス私が使用したいですドッカー画像を作成するためのJenkinsドッキング・ビルド・ステップ・プラグインですが、ホスト・マシンでドッカー・デーモンを使用したいので、Jenkins設定ではDOCKER_URLは2375のようになります。 (理由は、ホストマシンに既に持っていれば、私はjenkinsコンテナにドッカーをインストールしたくないからです)。

    これを行う方法はありますか、現在Mac用のDockerはこれをサポートしていませんか?私は輸出DOCKER_OPTSまたはDOCKER_HOSTオプションを使って手抜きを試みましたが、依然としてhttp://localhost:2375/images/jsonを呼び出してConnectionが拒否しました。

    基本的には、Docker for OSXリモートAPIを有効にし、ユンキンスドッカーのコンテナから呼び出すユースケースについての質問です。

  • +0

    :醸造socatに関するをインストール

    は、このトピックの長い議論についてはこちらをご覧ください: //stackoverflow.com/questions/38 293806無効なバインドアドレス形式:-H unix:///var/run/docker.sock -H tcp:// localhost:2376 –

    +0

    Dockerソケットのみをホストからコンテナに共有するのはどうですか? ジェンキンス: ... ボリューム: - /var/run/docker.sock:/var/run/docker.sock – Lauri

    +1

    これは有効なオプションのように思えるが、今私は、接続の代わりに拒否されたアクセス権を取得します拒否されました。 /var/run/docker.sockは、〜/ Library/Containers/com.docker.docker/Data/s60へのシンボリックリンクですが、自分のユーザとしてシンボリックリンクを再作成しても、パーミッションが拒否されました... [ INFO] {} - > unix:// localhost:80:Permission denied'へのリクエストを処理するときに捕捉された入出力例外(java.io.IOException) –

    答えて

    2

    あなたはsocatの使用を検討することができますが、それは似ているように思われる私の問題を解決しました。

    socatに関するTCPは、LISTEN:2375、REUSEADDR、フォークUNIX-CONNECTを:/var/run/docker.sock &

    これは、使用してドッカーコンテナからあなたのOSXホストドッカーのAPIにアクセスすることができます:TCP://[ホストIPアドレス]:OSXのsocatに関するオン2375

    は次のようにインストールすることができます。私は、HTTPからの回答に従っている場合Plugin: Docker fails to connect via unix:// on Mac OS X

    関連する問題