2017-02-22 12 views
1

カスタムレジストリからイメージをプルする方法をドッカーソースを使用してですか? serverAddressではregistry.gitlab.comであるが、このようなコードを使用した結果としてgolangでカスタムドッカーレジストリから画像を取り込む方法は?

// Prepare auth registry for usage 
func (app *App) PrepareRegistry() error { 
    app.AuthConfig = types.AuthConfig{ 
     Username:  Username, 
     Password:  Password, 
     ServerAddress: DefaultServer, 
    } 

    resp, err := app.Client.RegistryLogin(context.Background(), app.AuthConfig) 
    if err != nil { 
     panic(err) 
    } 

    fmt.Println(resp.Status) 
    if resp.IdentityToken != "" { 
     app.AuthConfig.IdentityToken = resp.IdentityToken 
    } 

    app.AuthConfigEncoded, err = command.EncodeAuthToBase64(app.AuthConfig) 
    return err 
} 

func (app *App) ImagePull() error { 

    opts := types.ImagePullOptions{ 
     All:   true, 
     RegistryAuth: app.AuthConfigEncoded, 
     PrivilegeFunc: registryAuthentication(app.Name), 
    } 
    responseBody, err := app.Client.ImagePull(context.Background(), app.Name, opts) 
    defer responseBody.Close() 
    if err != nil { 
     return err 
    } 
    return nil 
} 

が、私はまだエラーを取得しています

Login Succeeded 
panic: Error response from daemon: Get https://registry-1.docker.io/v2/shalakhin/blender/tags/list: unauthorized: incorrect username or password 

+1

「app.Client」のように定義されているこれらの関数/タイプはすべてどこにありますか、どのライブラリを使用していますか? [mcve](http://stackoverflow.com/help/mcve)が必要な場合があります。 – BMitch

+0

私はドッカーのソースコードを使用します。私は、ドッカーのクライアント、アプリケーションの名前(私たちはイメージの名前を言うことができるなど)を保持するAppの構造体を持っている – shalakhin

答えて

0

があなたをしたregistry-1.docker.ioありませんIDトークンを確認しますか?そのため、認証に問題が生じる可能性があります。

提案:私が見ることができるように、これは、正常に動作します
Docker client

あなたはエンドポイントが指定されていませんでした。私はあなたがこの情報を追加すべきだと思います。

関連する問題