我正在尝试使用 Kreuzwerker提供的方法创建并推送docker镜像到Google Cloud Registry。 我能够使用以下代码创建镜像(提供程序设置在其他地方),但当我将名称设置为容器注册表时,我会遇到错误:错误:推送docker镜像时出错:来自守护程序的错误响应:错误参数和缺少X-Registry-Auth:EOF。我发现文档相当贫乏,缺乏示例。
resource "docker_registry_image" "my_project" {
name = "eu.gcr.io/gcp_project/dockerimage:v1"
build {
context = "${path.module}/filepath"
dockerfile = "Dockerfile"
}
}
https://registry.terraform.io/providers/kreuzwerker/docker/latest/docs/resources/registry_image
更新:
最终我使用了本地执行(local-exec)和时间戳触发器,这样docker命令会在每次Terraform部署时构建并推送。
resource "null_resource" "docker_build" {
triggers = {
always_run = timestamp()
}
provisioner "local-exec" {
working_dir = path.module
command = "docker build -t ${local.docker_image} ./my_app/ && docker push ${local.docker_image}"
}
}