Today, enterprises are modernizing their applications to support ever‑growing digital business requirements. Containers are a key component of that transformation, and Docker is core to the container revolution.
Containers are the foundation for bringing portability to legacy applications, as well as a lightweight package for modern, microservices‑based apps. And usage of NGINX and of Docker have grown hand in hand; the official NGINX image is one of the top downloads on Docker Hub.
Ask anyone who has deployed hundreds or even thousands of Docker containers – especially in production – and you’ll quickly find that native load balancers, API gateways, and Kubernetes Ingress controllers are needed to stitch together a containerized app.
That’s where NGINX comes in.
NGINX Helps Bring Containerized Apps to Life
The NGINX Application Platform is a unified platform for running multiple application delivery technologies in containers. Customers select NGINX to scale container‑based apps and microservices. Our technology is lightweight, fast, and designed for distributed environments.
It’s no surprise NGINX is one of the most widely deployed technologies in containers. We’ve had more than a billion pulls from Docker Hub. Enterprises deploying containers at scale rely on NGINX to improve resiliency, performance, scalability, and security.
I encourage folks new to NGINX to check out our existing content around Docker. It’s all still relevant, and provides a solid foundation for NGINX in containerized environments:
- Deploying NGINX and NGINX Plus with Docker
- Monitoring Microservices in Docker Containers with NGINX Amplify
- Fun with Health Checks using NGINX Plus and Docker
What’s New with NGINX and Docker
Done reading that all? Great. Now we can touch on the latest news about NGINX and Docker:
- Interlock is based on NGINX Open Source. Interlock – the native Ingress controller for Docker’s own container orchestration tool, Swarm – is based on NGINX Open Source. It ships as the built‑in proxy and load balancer with the Docker commercial solution, Docker Enterprise Edition (EE).
- NGINX Kubernetes Ingress controller is the preferred solution. Docker has embraced Kubernetes, which is now the more popular container orchestration tool among Docker customers. The NGINX Kubernetes Ingress controller solution is for both NGINX Open Source and NGINX Plus.
All NGINX solutions run on Docker platforms, and two NGINX technologies are available directly on Docker Hub:
- NGINX Open Source. (NGINX Plus is not yet available from Docker Hub, but our subscriptions and free 30‑day trials include an NGINX Plus container image.)
- NGINX Unit. Though just a recent addition to Docker Hub, NGINX Unit was downloaded more than 2,000 times in the first month. Developers and DevOps users get a dynamic, API‑driven server with multi‑language support. (Java is coming in the months ahead.)
Soon to ship is NGINX Controller. NGINX Controller is for users looking to manage NGINX Plus with Docker Enterprise Edition, OpenShift, Kubernetes, or other container management platforms.
NGINX Controller provides monitoring, alerting, dashboards, configuration analysis, and configuration management. Controller includes the following features for NGINX Plus instances running in containers:
- Management at scale. Easily monitor and manage multiple NGINX Plus instances using a centralized management interface.
- Visibility. Gain deep insights into performance KPIs for the entire NGINX Plus stack, including the OS, PHP‑FPM, and MySQL.
- Control. Meet your SLAs, avoid performance issues, and troubleshoot faster with built‑in guidance on NGINX Plus best practices.
- Agility. Enable application teams to deploy new applications faster by developing environment‑specific policies.
- Multi‑cloud support. Deploy and manage NGINX Controller on any public or private cloud; push NGINX Plus configs to all major clouds, including AWS, Google Cloud Platform, and IBM Cloud, and Microsoft Azure.
Three Ways NGINX Scales Docker Containers
It’s a fast‑paced world, and NGINX has kept up with Docker’s platform evolution. With DockerCon 2018 coming up, we wanted to take a moment to highlight the three main ways NGINX helps companies succeed with their Docker initiatives:
- NGINX is the native load balancer in Docker EE. As mentioned above, Docker EE ships with NGINX Open Source as the native reverse proxy and load balancer that powers Interlock. However, most of our customers prefer to use Kubernetes over Swarm. We’ve got you covered there, too! NGINX is the most widely deployed Kubernetes Ingress controller. Whether you choose Docker Swarm or Kubernetes, NGINX is the best choice for scaling container orchestration traffic.
- NGINX is the most widely deployed Kubernetes Ingress controller. NGINX load balances traffic, terminates SSL/TLS, authenticates clients, and monitors Kubernetes pod traffic. There is a community version of the Ingress controller, which has a full set of features and relies on NGINX Open Source. We recommend that production Kubernetes environments deploy the official NGINX Ingress controller, which provides additional stability, support, and advanced NGINX Plus features for security, authentication, availability, and metrics.
Beyond Docker: NGINX is a Critical Component in a Broader Container Ecosystem
NGINX brings more to the table than just the three benefits for Docker users. Containers are a necessary ingredient in modern applications, but they are only part of the solution. NGINX is integral to a much larger solution as companies migrate from legacy, monolithic apps to microservices. We provide load balancing, API gateway, Kubenetes Ingress controller, and service mesh technologies. We work on Docker, our technology is included natively in Docker, and we work across private and public clouds. For example, we’re in the AWS Elastic Container Registry (ECR) and the Red Hat Container Catalog.
Visit NGINX at DockerCon 2018!
Come see us in booth S22 at DockerCon 2018 to learn more about NGINX and how we can scale your container applications and check out demos of NGINX Controller and NGINX Kubernetes Ingress controller.