Использование источников докеров, как вытаскивать изображение из настраиваемого реестра? В результате использования такого кодаКак извлечь изображение из пользовательского реестра докеров с помощью 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
Хотя ServerAddress является registry.gitlab.com, не registry-1.docker.io
Где все эти функции/типы определены, например 'app.Client', какие библиотеки вы используете? Может потребоваться [mcve] (http://stackoverflow.com/help/mcve). – BMitch
Я использую исходный код докера. У меня есть структура приложения, в которой хранится клиент Docker, имя приложения (можно сказать, имя изображения) и т. Д. – shalakhin