Size: a a a

2019 November 21

AK

Andrey Kartashov in terraform_ru
ты представь вместо слова latest слово image_id
источник

AK

Andrey Kartashov in terraform_ru
они херовое имя для аттрибута взяли
источник

A

Anton in terraform_ru
ну смотри, вот у меня есть например такой файл
provider "docker" {
 host = "unix:///var/run/docker.sock"
}

resource "docker_container" "tomcat" {
 name  = "tomcat"
 image = "${docker_image.tomcat.latest}"
}

resource "docker_image" "tomcat" {
 name = "tomcat:7.0.68-jre8"
}
источник

A

Anton in terraform_ru
tomcat:7.0.68-jre8 скачал, контейнер tomcat создал, все норм
источник

A

Anton in terraform_ru
теперь я хочу, чтобы он пересоздал контейнер этот на tomcat:8.0
источник

A

Anton in terraform_ru
7.0.68-jre8 меняю на 8.0, он пулит образ, ок, но контейнер не пересоздает
источник

AK

Andrey Kartashov in terraform_ru
покажи terraform plan
источник

AK

Andrey Kartashov in terraform_ru
что меняется?
источник

A

Anton in terraform_ru
  # docker_image.tomcat will be updated in-place
 ~ resource "docker_image" "tomcat" {
       id     = "sha256:c23fe2fe40fcafbd82595dc0a8c2c5c44b9895bfd1de38e1e25f1de98842da80tomcat:7.0.68-jre8"
       latest = "sha256:c23fe2fe40fcafbd82595dc0a8c2c5c44b9895bfd1de38e1e25f1de98842da80"
     ~ name   = "tomcat:7.0.68-jre8" -> "tomcat:8.0"
   }
источник

A

Anton in terraform_ru
ну он спулит этот image, да
источник

A

Anton in terraform_ru
круто, а нахрен мне это, если можно делать это в том блоке? я-то думал, что это как переменная используется
источник

AK

Andrey Kartashov in terraform_ru
попробуй вот так
источник

AK

Andrey Kartashov in terraform_ru
источник

AK

Andrey Kartashov in terraform_ru
наркоманы, как такое придумать можно
источник

A

Anton in terraform_ru
ну да, пересоздает все кое-как. причем удаляет image. ну такое себе конечно
источник

AK

Andrey Kartashov in terraform_ru
Anton
ну да, пересоздает все кое-как. причем удаляет image. ну такое себе конечно
с удалением можно через lifecycle бороться
источник

A

Anton in terraform_ru
дойду до этого. другой вопрос как вот тоже самое, что я только что сейчас делал реализуется в 12 версии? тф постоянно напоминает, что деприкейтед To silence this warning, remove the "${ sequence from the start and the }" sequence from the end of this expression, leaving just the inner expression. но не работает, если убрать эти скобки
источник

AK

Andrey Kartashov in terraform_ru
кавычки тоже убирай
источник

AK

Andrey Kartashov in terraform_ru
и доллар
источник

AK

Andrey Kartashov in terraform_ru
resource "docker_container" "tomcat" {
 name  = "tomcat"
 image = docker_image.tomcat.latest
}
источник