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
相关产品推荐
相关产品推荐

