我正在跟随{{link1:terraform.io上的一个教程}},该教程让我使用terraform进行docker镜像和容器的配置,然后销毁terraform堆栈。但是,我遇到了以下错误:
我知道原生的Docker解决方案只需要运行
terraform资源
教程中的
那么,如何在不使用 Docker 原生工具手动干预的情况下,强制运行
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 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
}
}
那么,如何在不使用 Docker 原生工具手动干预的情况下,强制运行
terraform destroy
以在此模板上工作呢?
terraform destroy
命令成功执行了。 - Yann Stoneman