├── modules
│ ├── aws
│ │ ├── main.tf
│ │ ├── outputs.tf
│ │ └── variables.tf
│ └── docker
│ └── main.tf
├── site.tf
└── variables.tf
resource "aws_instance" "my_ec2_instance" {
connection { user = "ubuntu" }
ami = "ami-f95ef58a"
....
}output "ec2_instance_address" { value = "${aws_instance.my_ec2_instance.public_dns}"}# Configure the Docker providerprovider "docker" { host = "tcp://${module.aws.ec2_instance_address}:2375/"}
# Create a containerresource "docker_container" "jenkins_container" { image = "${docker_image.jenkins.latest}" name = "jenkins"}
resource "docker_image" "jenkins" { name = "jenkins:latest"}
module "aws" { source = "./modules/aws"
access_key = "${var.access_key}" secret_key = "${var.secret_key}" key_name = "${var.key_name}" public_key_path = "${var.public_key_path}"
}
module "docker" { source = "./modules/docker"}