Apology for the last word “Win10”, it’s bit misleading but my main development machine is Dell XPS 13 on Windows 10 Pro Insider Preview. There’s should be a follow up to this blog hopefully on my headless Ubuntu Server.
BTW, it’s a PITA to get this thing working on my Win10 machine - too many wrangling with Windows GUI DNS settings, Docker vEthernet adapter then a mixed of CLI scripts, some won’t work on plain CLI commands later then I discovered that wrapping it inside docker-compose.yml does the trick. C-R-A-Z-Y-!
I had this vision from last year (2016) while I was working on couple projects: NodeJS APIs, setting up infras (CI), deployments, standing up AWS services - to do some automated orchestration of infrastructures and its services, stick inside a container. It just got materialised recently, and with some help from  .
Dangx Project is an attempt to build a microservice architecture with Docker, Alpine Linux, NodeJS, Nginx. Each service should run on its own isolated container.
- Except for Dnsmasq, all containers are linked via the “nginx-proxy” network
- Dnsmasq will only respond to “dev” domain queries on localhost/127.0.0.1
- Configure your Windows Docker vEthernet (DockerNAT) network adapter to use the 127.0.0.1 as one of your DNS server and use DNS suffix “dev”, see screenshot above
How it works
- Dnsmasq responds to “dev” domain queries and use 127.0.0.1 as its IP
- Nginx Proxy listens for any request on port 80, proxys the request to its target container, it does a lot of cool magic behind the scene, see 
- Domain and its containers
- For fresh project, create the special network
- Build the containers
- Destroy the containers, excluding network and images
- Restart the containers
This is a short write up about its purpose, functionality and configuration, feel free to ask or file an issue over at Github. The references below should give you the nitty-gritty.
I’m excited about the current state of this project, and I’d like to move forward and do some cool stuff. Here’s the grand plan:
- Deploy to AWS
- Infrastructure management with Terraform.io
- Multi-cloud deployment eg: Google Cloud, AWS, Azure
- CI (automated: testing, deployment)
- Security (SSL, etc)
- Blue/Green deployment
- Spin-off sample/cool projects from this project