2017-07-03 11 views
1

誰もがこれらのツールを一緒に使ってみましたか?docker-composeとnginx-proxyでTerraformを使用する

私は現在、4つのコンテナのソリューションにnginx-proxyとdocker-composeを使用しています。

私は今、展開をより速く/より速く/安くしようとしています。そして、私が現在探しているものがテラフォームかもしれないと思います。

私の質問は - terraformはドッカーで動作しますか?または、それらの間に重複がありますか?

アドバイスありがとうございます!

+0

terraformは設定ツールではなくコードとしてのインフラストラクチャですが、間違ったツールを使用していると思います。これは不可能な人形、シェフ、塩などの自動ツールで行う必要があります – BMW

答えて

0

ドッカープロバイダを使用して、Terraformで1つまたは複数のドッカーコンテナを実行できます。

https://www.terraform.io/docs/providers/docker/index.html

サンプルnginxののテラフォームの設定

provider "docker" { 
    host = "tcp://ec2-xxxxxxx.compute.amazonaws.com:2375/" 
} 
resource "docker_image" "nginx" { 
    name = "nginx:1.11-alpine" 
} 
resource "docker_container" "nginx-server" { 
    name = "nginx-server" 
    image = "${docker_image.nginx.latest}" 
    ports { 
    internal = 80 
    external = 80 
    } 
    volumes { 
    container_path = "/usr/share/nginx/html" 
    host_path = "/home/scrapbook/tutorial/www" 
    read_only = true 
    } 
} 
2

あなたは既に提案テラフォームプロバイダを使用することができますが、あなたはまた、あなたのドッキングウィンドウ・コンファイルを作成することができます何らかの理由で、作曲ドッキングウィンドウに固執する場合、ユーザーデータで必要なコマンドを実行します。私はAWSを使用しますが、これは、ユーザデータをサポートする任意のプロバイダで動作するはず

data "template_file" "nginx" { 
    template = "${file("nginx.tpl")}" 
} 

resource "aws_instance" "nginx" { 
    instance_type = "t2.micro" 
    ami = "ami-xxxxxxxx" 

    user_data = "${data.template_file.nginx.rendered}" 
} 

nginx.tf

#cloud-config 
write_files: 
- content: | 
     version: '2' 
     services: 
      nginx: 
       image: nginx:latest 
    path: /opt/docker-compose.yml 
runcmd: 
- 'docker-compose -f /opt/docker-compose.yml up -d' 

nginx.tpl template_filetemplate_cloudinit_config

に見てみましょうクラウド初期設定のボックス。また、この手法は自動スケーリングに適しています。

関連する問題