有沒有人試過一起使用所有這些工具?與docker-compose和nginx-proxy一起使用Terraform
我目前使用四容器解決方案的nginx-proxy和docker-compose。
我現在正在嘗試使部署更好/更快/更便宜,並認爲terraform可能是我現在正在尋找的部分。
我的問題是 - docker-composose的terraform工作嗎?或者它們之間有太多重疊?
感謝您的任何建議!
有沒有人試過一起使用所有這些工具?與docker-compose和nginx-proxy一起使用Terraform
我目前使用四容器解決方案的nginx-proxy和docker-compose。
我現在正在嘗試使部署更好/更快/更便宜,並認爲terraform可能是我現在正在尋找的部分。
我的問題是 - docker-composose的terraform工作嗎?或者它們之間有太多重疊?
感謝您的任何建議!
您可以使用docker供應商在Terraform中運行單個或多個碼頭集裝箱。
https://www.terraform.io/docs/providers/docker/index.html
樣品nginx的terraform配置
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
}
}
您可以使用Terraform提供者已經建議,但如果你想堅持到泊塢窗,構成以任何理由,你也可以創建你的搬運工,撰寫文件並用用戶數據運行必要的命令。看看到template_file和template_cloudinit_config
例
nginx.tpl
#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.tf
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}"
}
我使用AWS但這應該與任何供應商合作,支持用戶數據和一個包含cloud-init的盒子。這種方法也適用於自動調節。
terraform是基礎設施作爲代碼,而不是配置工具,我認爲你去錯誤的工具,這應該由ansible,木偶,廚師,鹽或其他自動化工具 – BMW