Example NGINX+Node.js application stack deployable with Docker, and to AWS ECS using Docker. The stack is described using Docker Compose files.
The contents are:
app
- Extremely simple Node.js HTTP service that listens on port 3000nginx
- Extremely simple NGINX server configured as an HTTP proxy to a back-end service on port 3000local
- A Docker Compose file for launching the two services on the local machineecs-simple
- A simple deployment of the stack to AWS ECS using adocker-compose.yml
andecs-params.yml
nginx-ecs-simple
- The version of thenginx
service to be used in theecs-simple
scenario
ecs-terraform
an example of using Terraform to deploy the stack to AWS ECSnginx
An implementation of thenginx
service for this
ecs-service-discovery
- A two-service deployment to AWS ECS meant to explore how Service Discovery works THIS EXAMPLE DOES NOT YET WORKbackend
- An implementation of theapp
service as an ECS Service, defined using a Docker Compose filefrontend
- An implementation of thenginx
service as an ECS Service, defined using a Docker Compose filenginx-ecs-service-discovery
The version of thenginx
service to be used on ECS
The ecs-simple
case is a simple AWS ECS Fargate cluster containing the two services.
The ecs-terraform
case works directly with the AWS infrastructure, while using Terraform to do so. This is different from the ecs-simple
example which relies on a Docker Compose file.
The ecs-service-discovery
is an attempt to deploy app
and nginx
as two separate services on ECS, and to have nginx
find app
using Service Discovery. Unfortunately this example does not yet work.
To see an implementation of Service Discovery, the ecs-terraform
example implements that feature.
For tutorials on using these containers, see: