私は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 リソースのドキュメントは、terraformdocker_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
}
}
terraform destroy
では、Docker ネイティブ ツールを使用して手動で介入することなく、このテンプレートで作業を強制するにはどうすればよいでしょうか?