Estou executando isso para construir localmente uma imagem docker usando o Terraform. Obtém sucesso na primeira execução, mas falha em todas as outras tentativas, Error: failed to read dockerfile: unexpected EOF
a menos que eu remova o terraform.tfstate
arquivo completa e manualmente.
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"
}
}
Tentei modificar a versão para docker-build-test:latest2
ou docker-build-test2:latest
, executando terraform state rm docker_image.dbx_kedro_img
, removendo as imagens e contêineres do docker locais, sem sucesso. A única coisa que funciona é excluir manualmente o terraform.tfstate
. Qualquer ideia é bem-vinda.
docker rm $(docker ps -aq) # not useful
docker rmi $(docker images -q) -f # idem
terraform state rm docker_image.dbx_kedro_img # idem
meu dockerfile:
# Use a lightweight base image
FROM alpine:latest
#
# Set the command to run when the container starts
CMD ["echo", "Hello, World3!"]
EDIT: mesmo comportamento após adicionar um gatilho como este, falha após a primeira tentativa, mesmo ao modificar o nome da imagem.
# not useful
resource "docker_image" "dbx_kedro_img" {
name = "docker-build-test5:latest"
build {
context = "."
dockerfile = "./Dockerfile"
}
triggers = {
always_rebuild = timestamp()
}
}