# #amazon-web-services #docker #go
Вопрос:
Я использую docker golang sdk https://pkg.go.dev/github.com/docker/docker чтобы отправить мои изображения docker в AWS ECR, который отлично работает.
Теперь я хочу создать API для удаления моих изображений AWS ECR с помощью того же SDK.
Проблема в том , что ….
Метод ImagePush разрешает registryAuth, и именно так он знает, куда отправлять мои изображения docker. Но функции ImageList и ImageRemove не принимают registryAuth! Из-за этого функция ImageList показывает изображения docker из моей локальной среды.
Я попытался выполнить registryLogin непосредственно перед вызовом ImageList, но безуспешно. Что я здесь делаю не так?
body, err := client.RegistryLogin(ctx, creds)
fmt.Println("login body", body)
images, err := client.ImageList(ctx,
types.ImageListOptions{})
fmt.Println("list err", err)
Ответ №1:
Этот client.ImageRemove
метод удаляет изображение только с вашего локального хоста, поэтому аутентификация не требуется.
Чтобы удалить изображение из реестра ECR, вам необходимо подключиться к его API. Вы можете использовать AWS SDK for Go API
: https://docs.aws.amazon.com/sdk-for-go/api/service/ecr /