2016-06-30 3 views
1

は、私は、リモートマシンのすべてのドッキングウィンドウの画像を取得したいので、私はドッキングウィンドウ/エンジン-APIを使用しています:docker/engine-apiのリモートソケットに接続するには?

:私は次のコードで私のローカルマシン のドッキングウィンドウの画像を返すことに成功した

https://github.com/docker/engine-api

package main 

import (
    "fmt" 

    "github.com/docker/engine-api/client" 
    "github.com/docker/engine-api/types" 
    "golang.org/x/net/context" 
) 

func main() { 
    defaultHeaders := map[string]string{"User-Agent": "engine-api-cli-1.0"} 
    cli, err := client.NewClient("unix:///var/run/docker.sock", "v1.22", nil, defaultHeaders) 

    if err != nil { 
     panic(err) 
    } 

    options := types.ContainerListOptions{All: true} 
    containers, err := cli.ContainerList(context.Background(), options) 
    if err != nil { 
     panic(err) 
    } 

    for _, c := range containers { 
     fmt.Println(c.ID) 
    } 
} 

しかし、私はそのアドレス、ユーザー名与えられたリモートマシンのドッキングウィンドウの画像を取得することができますどのように、今誰もが知っている、とパスワード

答えて

-1

より良い解決策は、問題はリモートソケットに接続する方法だった

+0

はlibnetworkリモートAPIに簡単なパススルーでドッキングウィンドウのネットワークAPIのサポートを提供し、」githubの中go-dockerclientを使用することですdocker/engine-api(https://github.com/docker/engine-apiを使用)。 @AxelWassは適切なソリューションを提供しました。 – CodeWarrior

3

Unixソケットのその種類は同じマシンでproccessesを通じてのみアクセス可能です。

リモートマシンからドッカーにアクセスするには、特別な設定でipを実行する必要があります。 (あなたはすべてのインタフェースで待機し、それをwhant場合や-H 0.0.0.0:<port>

この構成はDOCKER_OPTS="-H <ip_address>:<port>"であり、それはあなたがそれを設定する必要がありドッキングウィンドウで実行されているバージョンに依存します。

Here DOCKER_OPTSの設定の詳細については、オペレーティングシステムのバージョンによって異なります。

希望すると助かります!

関連する問題