【发布时间】:2021-02-07 22:49:09
【问题描述】:
我正在关注a tutorial on terraform.io,它让我使用 terraform 配置 docker 映像和容器,然后销毁 terraform 堆栈。但是,我收到以下错误:
Error: Unable to remove Docker image:
Error response from daemon: conflict: unable to delete 540a289bab6c (must be forced) -
image is being used by stopped container ae12197d265d
我知道本地 Docker 解决方案只是运行 docker rmi -f 540a289bab6c。但是,我想知道是否有一个 terraform 方法来解决这个问题?
terraform 资源 docker_image 的文档显示了 terraform 试图破坏 terraform destroy 上的图像的原因:模板 main.tf 已将 keep-locally 设置为 true。但它没有说明如何强制破坏。
教程中的main.tf如下:
terraform {
required_providers {
docker = {
source = "terraform-providers/docker"
}
}
}
provider "docker" {}
resource "docker_image" "nginx" {
name = "nginx:latest"
keep_locally = false
}
resource "docker_container" "nginx" {
image = docker_image.nginx.latest
name = "tutorial"
ports {
internal = 80
external = 8000
}
}
那么我如何强制terraform destroy 在此模板上工作,而无需使用 docker 原生工具进行人工干预?
【问题讨论】:
标签: docker nginx terraform hcl terraform-provider-docker