更新时间:2021-07-09 21:04:07
coverpage
Title Page
Credits
About the Author
www.PacktPub.com
Why subscribe?
Customer Feedback
Preface
Overview
Audience
Continuous Integration with Docker Containers
Defining a fully Dockerized manual Continuous Integration flow
Running unit tests and building service binary
Building service images
Running staging tests
Pushing images to the registry
Setting Up and Operating a Swarm Cluster
Scalability
Axis scaling
X-axis scaling
Y-axis scaling
Z-axis scaling
Clustering
Docker Swarm Mode
Setting up a Swarm cluster
Deploying services to the Swarm cluster
Scaling services
Failover
What now?
Docker Swarm Networking and Reverse Proxy
Setting up a cluster
Requirements of secured and fault tolerant services running with high availability
Running a database in isolation
Running a service through a reverse proxy
Creating a reverse proxy service in charge of routing requests depending on their base URLs
Load balancing requests across all instances of a service
Service Discovery inside a Swarm Cluster
What would Docker Swarm look like without?
What does standalone Docker Swarm look like with service discovery?
Service discovery in the Swarm cluster
Do we need service discovery?
Setting up Consul as service registry inside a Swarm cluster
Problems when scaling stateful instances
Using service registry to store the state
Discovering addresses of all instances that form a service
Using service registry or key value store to store service state
Continuous Delivery and Deployment with Docker Containers
Defining the Continuous Delivery environment
Setting up Continuous Delivery clusters
Using node labels to constrain services
Creating services
Walking through Continuous Delivery steps
Walking the extra mile from Continuous Delivery to Continuous Deployment
Automating Continuous Deployment Flow with Jenkins
Jenkins architecture
Production environment setup
Jenkins service
Jenkins failover
Jenkins agent
Creating services in production and production-like environments
Automating Continuous Deployment flow with Jenkins
Creating Jenkins Pipeline jobs
Defining Pipeline nodes
Defining Pipeline stages
Defining Pipeline steps
Exploring Docker Remote API
Setting up the environment
Operating Docker Swarm through the Docker Remote API
Using Docker Remote API to automate proxy configuration
Combining the Swarm listener with the proxy
Automatically reconfiguring the proxy
Removing a service from the proxy
Using Docker Stack and Compose YAML Files to Deploy Swarm Services
Swarm cluster setup
Creating Swarm services through Docker stack commands
Deploying more stacks
To stack or not to stack
Cleanup
Defining Logging Strategy
The need for centralized logging
Setting up ElasticSearch as the logging database
Setting up LogStash as the logs parser and forwarder
Forwarding logs from all containers running anywhere inside a Swarm cluster
Exploring logs
Discussing other logging solutions
Collecting Metrics and Monitoring the Cluster
The requirements of a cluster monitoring system
Choosing the right database to store system metrics
Creating the cluster
Prometheus metrics
Exporting system wide metrics
Scraping querying and visualizing Prometheus metrics
Using Grafana to create dashboards
Exploring Docker Swarm and container overview dashboard in Grafana