Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 在terraform中使用docker-compose.yml_Git_Docker Compose_Terraform_Terraform Provider Azure - Fatal编程技术网

Git 在terraform中使用docker-compose.yml

Git 在terraform中使用docker-compose.yml,git,docker-compose,terraform,terraform-provider-azure,Git,Docker Compose,Terraform,Terraform Provider Azure,我正在mac上运行terraform 0.13.2。我正在尝试创建一个使用docker compose配置的azure应用程序服务(我正在HTTP API中包装一个第三方docker映像)。据我所知,我需要将docker-compose.yml的内容放入应用程序服务,如下例所示: resource "azurerm_resource_group" "example" { name = "example-resources"

我正在mac上运行terraform 0.13.2。我正在尝试创建一个使用docker compose配置的azure应用程序服务(我正在HTTP API中包装一个第三方docker映像)。据我所知,我需要将docker-compose.yml的内容放入应用程序服务,如下例所示:

resource "azurerm_resource_group" "example" {
  name     = "example-resources"
  location = "westeurope"
}

module "web_app_container" {
  source = "innovationnorway/web-app-container/azurerm"

  name = "hello-world"

  resource_group_name = azurerm_resource_group.example.name

  container_type = "compose"

  container_config = <<EOF
version: '3'
services:
  web:
    image: "innovationnorway/go-hello-world"
    ports:
     - "80:80"
  redis:
    image: "redis:alpine"
EOF
}
但我不清楚如何从git中获取文件,甚至如何使用私有github回购协议,因此我得到了如下结果:

resource "azurerm_resource_group" "example" {
  name     = "example-resources"
  location = "westeurope"
}

module "web_app_container" {
  source = "innovationnorway/web-app-container/azurerm"

  name = "hello-world"

  resource_group_name = azurerm_resource_group.example.name

  container_type = "compose"

  container_config = file("docker-compose.yml")

}
container_config = file(git@github.com:my-org/private-repo.git/docker-compose.yml)

这可能吗?

您的Docker Compose文件不使用Terraform代码有什么原因吗?据我所知,除了通过。GitHub提供程序有一个
repository\u file
资源,用于在存储库中创建和管理文件,但没有数据源来检索现有文件的内容。@ydaetskcoR-docker-compose.yml到目前为止一直使用包装器API的源代码。从开发角度来看,这似乎很自然。是的,但我想问的是,为什么部署它的地形代码不能也存在于此?我个人倾向于让服务的基础架构代码与服务代码共存,并认为这可以解决许多其他问题。您的另一个选择是让运行Terraform命令的任何东西也克隆(可能作为子模块)另一个repo。或者通过
http
数据源访问它,但除非回购协议是公开的,否则这看起来可能会很痛苦。