[英]Pull private module within Terraform docker container
要运行我的 Terraform,我有一个 docker-compose 设置,它可以提取hashcorp/terraform:light
图像,然后构建我的基础架构。
我最近介绍了一个私有模块,它位于我的私有 Github 存储库中。 当我在我的机器上运行terraform get
时它工作正常,但在 Docker 组合设置中我收到以下错误:
Could not download module "privateModule" (privateModule.tf:1) source code from
"git@github.com:sum/private.go.deploy.git": error downloading
'ssh://git@github.com/sum/private.go.deploy.git': /usr/bin/git exited with
128: Cloning into '.terraform/modules/privateModule'...
Warning: Permanently added 'github.com,140.82.121.3' (RSA) to the list of
known hosts.
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
我正在尝试将我的 SSH 密钥传递给容器,以便它可以拉动私有 Github 存储库,但它似乎没有做任何事情。
version: '3.4'
services:
terraform:
image: hashicorp/terraform:light
volumes:
- .:/terraform
- ~/.ssh:/.ssh
working_dir: /terraform
environment:
- AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
- AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
- AWS_SESSION_TOKEN=${AWS_SESSION_TOKEN}
我的 Makefile 中的命令是:
tf-init:
docker-compose run --rm terraform init
有没有办法让我的容器从 Git 中提取私有依赖项以与 Terraform 一起使用?
ssh 文件夹未安装到正确的位置。
通过将其安装到root/.ssh
它解决了我的问题,我可以成功下载私有 Terraform 模块!
version: '3.4'
services:
terraform:
image: hashicorp/terraform:light
volumes:
- .:/terraform
- ~/.ssh:/root/.ssh
working_dir: /terraform
environment:
- AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
- AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
- AWS_SESSION_TOKEN=${AWS_SESSION_TOKEN}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.