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.ymlandecs-params.ymlnginx-ecs-simple- The version of thenginxservice to be used in theecs-simplescenario
ecs-terraforman example of using Terraform to deploy the stack to AWS ECSnginxAn implementation of thenginxservice 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 theappservice as an ECS Service, defined using a Docker Compose filefrontend- An implementation of thenginxservice as an ECS Service, defined using a Docker Compose filenginx-ecs-service-discoveryThe version of thenginxservice 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: