-
slides directory contains the slides that are used in the workshop.
- Part-1 An Introduction to Docker & 12 Factor App Implementation Using Docker
- A brief introduction to Docker
- 12 Factor App implementation using Docker (Sample CRUD application deployment)
- Part-2 An Introduction to Prometheus
- Prometheus Ecosystem and Architecture
- Data Model and Metric Types
- Visualization and Alerting based on Observed Metrics
- Part-3 An Introduction to Kubernetes
- A Brief Introduction to Kubernetes and its Building Blocks
- Container Locality on Kubernetes
- Software Multi-Tenancy Using Kubernetes
- Part-1 An Introduction to Docker & 12 Factor App Implementation Using Docker
-
example-docker-commands contains sample Docker commands that will get you familiar with Docker concepts and its CLI usage.
-
docker-compose-manifests and sample-app-kubernetes-manifests directories contain Docker Compose and Kubernetes manifests for the sample application that is available in this repository.
-
12-factor-implementation-using-docker.md describes how the sample application can be run locally using
docker run
commands in detail by following 12 Factor App methodology. -
docker-compose.md describes how the sample application can be run locally using Docker Compose.
-
introduction-to-kubernetes.md demonstrates the Kubernetes features.
-
monitoring-with-prometheus.md describes how can we deploy a monitoring infrastructure using Prometheus.
- git 2.20.1+
- docker 19.03.2+
- docker-compose 1.23.2+
Please consult to this documentation in order to install git on different Linux distributions.
Download and run the installer from this address in order to install git on MacOS.
Download and run the installer from this address in order to install git on Windows.
Fetch the get-docker.sh script with the following command:
curl -fsSL https://get.docker.com -o get-docker.sh
Execute it (Requires sudo privileges):
sh get-docker.sh
- Docker for Mac can be used to install and run docker on MacOS. Please refer to the official documentation for the installation instructions.
- Docker for Windows can be used to install and run docker on Windows. Please refer to the official documentation for the installation instructions.
See the official installation documentation for the installation instructions.
Docker for Mac already includes Docker Compose.
Docker for Windows already includes Docker Compose.
Prerequisites for the part-3:
Choose one of two options available below:
Katacoda Kubernetes Playground can be used to explore Kubernetes features. It provides two node Kubernetes cluster, one of them is master and the other one is worker. In order to use the playground you may need to create a Katacoda account.
Please consult to this documentation in order to install Minikube to different operating systems.
Also you will need to install kubectl
in order to communicate with your Minikube. For its installation instructions follow this guide.
Change your directory to example-docker-commands
:
cd example-docker-commands
Then continue reading from example-docker-commands/readme.md to get familiar with Docker concepts and cli usage.
After completing the examples in the above document, you can continue to read from 12-factor-implementation-using-docker.md to start deploying the sample application by following the 12 factor app principles.
Then you can start executing the commands in the root folder of this repository that are available in 12-factor-implementation-using-docker.md. Also the Docker Compose guide of the sample application is available in docker-compose.md.
An Introduction to Prometheus contains the installation and configuration of Node Exporter, Prometheus and AlertManager. Also it describes how you can use these tools in order to monitor your local environment and create and send custom alerts using Slack.
Monitoring with Prometheus contains the deployment instructions for the monitoring infrastructure using Docker in your local environment.
An Introduction to Kubernetes demonstrates the Kubernetes features like horizontal scaling, self healing, zero down-time application version update etc.