Использование terraform для отправки образа докера в реестр контейнеров Azure

Я использую terraform для предоставления инфраструктуры для моего проекта в Azure.

Частью инфраструктуры является реестр контейнеров для хранения образов докеров, которые будут использоваться kubernates. Поскольку на данный момент все предоставляется с использованием terraform, я также пытаюсь создавать и отправлять изображения. я нашелkreuzwerker/dockerпоставщик, который, возможно, может сделать эту работу.

На данный момент у меня есть этот код:

      provider "docker" {
  registry_auth {
    address  = azurerm_container_registry.example.login_server
    username = azurerm_container_registry.example.admin_username
    password = azurerm_container_registry.example.admin_password
  }
}

resource "docker_registry_image" "example" {
  name          = "example"
  keep_remotely = false

  build {
    context    = path.cwd
    dockerfile = "Dockerfile"
  }
}

Кажется, что образ был создан, но когда дело доходит до его добавления в реестр, я получаю эту ошибку:

      ╷
│ Error: resourceDockerRegistryImageCreate: Unable to get authConfig for registry: no auth config found for registry registry-1.docker.io in auth configs: map[string]types.AuthConfig{"***.azurecr.io":types.AuthConfig{Username:"***", Password:"***", Auth:"", Email:"", ServerAddress:"https://***.azurecr.io", IdentityToken:"", RegistryToken:""}}
│ 
│   with docker_registry_image.backend,
│   on docker.tf line 1, in resource "docker_registry_image" "backend":
│    1: resource "docker_registry_image" "backend" {
│ 
╵

Я думаю, что он пытается подтолкнуть кregistry-1.docker.ioно это не правильный реестр. Так что я попытался

      provider "docker" {
  host = azurerm_container_registry.example.login_server

  registry_auth {
    address  = azurerm_container_registry.example.login_server
    username = azurerm_container_registry.example.admin_username
    password = azurerm_container_registry.example.admin_password
  }
}

Но затем я получаю эту ошибку:

      ╷
│ Error: Error initializing Docker client: unable to parse docker host `***.azurecr.io`
│ 
│   with provider["registry.terraform.io/kreuzwerker/docker"],
│   on provider.tf line 8, in provider "docker":
│    8: provider "docker" {
│ 
╵

Как я могу использовать этого провайдера для отправки изображения в правильный ACR?

0 ответов

Другие вопросы по тегам