You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Terraform构建本地Docker镜像首次成功后失败,报错EOF仅删tfstate有效

Terraform构建Docker镜像重复报错:unexpected EOF

本地使用Terraform构建Docker镜像时,首次执行terraform apply可成功,但后续每次运行都会抛出错误:

Error: failed to read dockerfile: unexpected EOF

唯一能解决的方法是手动彻底删除terraform.tfstate文件。

我的Terraform配置

terraform {
  backend "local" {}
    required_providers {
      docker = {
        source  = "kreuzwerker/docker"
        version = "~>3.0.2"
      }
    # other providers
}
provider "docker" {

}

resource "docker_image" "dbx_kedro_img" {
  name         = "docker-build-test:latest" 
  build {
    context = "."
    dockerfile = "./Dockerfile"
  }
}

已尝试的无效操作

以下操作均无法解决问题,仅删除terraform.tfstate有效:

  • 修改镜像名称为docker-build-test:latest2或docker-build-test2:latest
  • 执行命令清理本地容器和镜像:
    docker rm $(docker ps -aq) # 无效
    docker rmi $(docker images -q) -f # 无效
    
  • 执行状态移除命令:
    terraform state rm docker_image.dbx_kedro_img # 无效
    

Dockerfile内容

# Use a lightweight base image
FROM alpine:latest
#
# Set the command to run when the container starts
CMD ["echo", "Hello, World3!"]

补充尝试(仍无效)

为资源添加触发器强制重建,即使修改镜像名称,首次执行后依然报错:

resource "docker_image" "dbx_kedro_img" {
  name         = "docker-build-test5:latest" 
  build {
    context = "."
    dockerfile = "./Dockerfile"
  }
    triggers = {
    always_rebuild = timestamp()
  }
}

内容的提问来源于stack exchange,提问作者gaut

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 20:26:08