Команда terraform init
инициализирует текущий рабочий каталог для использования с данным каталогом конфигурации. В этом сценарии Docker заданный каталог конфигурации - /tmp
, но текущий рабочий каталог - это каталог внутри самого контейнера, не предоставленный хостом.
Вместо передачи пути к terraform init
, вы можете использовать опцию --workdir
(или -w
), чтобы гарантировать, что Terraform будет использовать этот смонтированный том как рабочий каталог и конфигурации каталог, который является наиболее распространенным и наиболее поддерживаемым способом использования Terraform:
docker run -it -v ${PWD}:/tmp -w /tmp terraform:v0.12.3 init
docker run -it -v ${PWD}:/tmp -w /tmp terraform:v0.12.3 apply
С учетом вышесказанного, основные дистрибутивные архивы .zip
Terraform - это всего лишь один исполняемый файл, который должно быть легко извлекать и запускать на большинстве систем, поэтому дополнительная сложность использования Docker может не стоить, если вы не интегрируетесь с некоторыми другая система, где использование Docker обязательно. Запуск исполняемого файла Terraform напрямую исключает необходимость перевода между двумя разными файловыми системами и, возможно, (в зависимости от конфигурации вашей системы) в две разные операционные системы и т. Д.