After this module, you will be able to:
Explain what Docker is and the business value it provides App Experience Analytics
Get App Experience Analytics running in a single command
Troubleshooting tips and debugging axa docker environment issues
Introduction to Docker CA App Experience Analytics (AXA) 16.3: Features Training for Support, PreSales , SWAT and Services Harshit & Arivoli
Module Objectives After this module, you will be able to: Explain what Docker is and the business value it provides App Experience Analytics Get App Experience Analytics running in a single command Troubleshooting tips and debugging axa docker environment issues
Module Agenda What is Docker? What Constitutes Docker ? Why Docker? AXA Single C ommand S etup and D emo 1 2 3 4 Troubleshooting Docker Issues/Known Issues 3
What is Docker? CA App Experience Analytics (AXA) 16.3: Features Training for Support, PreSales , SWAT and Services
What is Docker ? High Level understanding: Light VM with just one process/service.
Difference Between VM and Docker
Why Docker? Future of application delivery Separation Of Concerns
What is a Docker? (Low L evel) What is a Container? Group of processes contained in a Isolated Environment – Isolation provided by Concepts like cgroups and namespaces What is Docker (Container)? Implementation of a Linux Container which is portable using a concept of image.
Isolation Explained CGroup Limit, account, and isolate resource usage (CPU, memory, disk I/O, etc.) of process groups. Resource limiting: groups can be set to not exceed a set memory limit — this also includes file system cache. Prioritization: some groups may get a larger share of CPU[8] or disk I/O throughput. Accounting: to measure how much resources certain systems use Control: freezing groups or checkpointing and restarting.
Isolation Explained Namespace Partitioning essential kernel structures to create virtual environments Different Namespaces – pid (processes) – net (network interfaces, rouNng ...) – ipc (System V IPC ) – mnt (mount points, filesystems) – uts (hostname) – user ( UIDs )
What Constitutes Docker? CA App Experience Analytics (AXA) 16.3: Features Training for Support, PreSales , SWAT and Services
What Constitutes Docker? Docker image (build component) Class (OOP Analogy) Docker container (run component) Instance of the class (OOP Analogy)
What is a Docker Image ? Build component of Docker . Output of building a Dockerfile Immutable. Every image starts with a base image and then application environment is added. Union file system to combine these layers into a single image. docker build -t agg-img
What is a Docker Container? Run component of Docker Holds everything needed for an application to run docker run --name agg -d agg-img startAgg.sh Image Command to run inside the container
Image/Container Layering
Sample Dockerfile > FROM centos:centos6 # Enable Extra Packages for Enterprise Linux ( EPEL ) for CentOS > RUN yum install -y epel -release # Install Node.js and npm > RUN yum install -y nodejs npm # Install app dependencies > COPY package.json / src / package.json > RUN cd / src ; npm install --production # Bundle app source > COPY . / src > EXPOSE 8080 > CMD ["node", "/ src / index.js "]
Why Docker ? CA App Experience Analytics (AXA) 16.3: Features Training for Support, PreSales , SWAT and Services
Why Docker ? Fast, consistent delivery of your applications Responsive deployment and scaling Running more workloads on the same hardware
Why Developers Care Build once…(finally) run anywhere* A clean, safe, hygienic and portable runtime environment for your app. No worries about missing dependencies, packages and other pain points during subsequent deployments. Run each app in its own isolated container, so you can run various versions of libraries and other dependencies for each app without worrying Automate testing, integration, packaging…anything you can script Reduce/eliminate concerns about compatibility on different platforms, either your own or your customers. Cheap, zero-penalty containers to deploy services? A VM without the overhead of a VM ? Instant replay and reset of image snapshots?
Why Devops Cares Configure once…run anything and anywhere Make the entire lifecycle more efficient, consistent, and repeatable Eliminate inconsistencies between development, test, production, and customer environments Support segregation of duties Significantly improves the speed and reliability of continuous deployment and continuous integration systems Because the containers are so lightweight, address significant performance, costs, deployment, and portability issues normally associated with VMs
AXA Single C ommand S etup and D emo . CA App Experience Analytics (AXA) 16.3: Features Training for Support, PreSales , SWAT and Services
AXA Single C ommand S etup and D emo https://cawiki.ca.com/display/APM/Get+AXA+running+in+a+single+command+on+ Docker
Troubleshooting Docker Issues/Known Issues CA App Experience Analytics (AXA) 16.3: Features Training for Support, PreSales, SWAT and Services
Docker Commands H elpful in Troubleshooting View container logs docker logs < container_name > When docker container is NOT COMING up docker run -it -- entrypoint /bin/bash agg5 When docker container is UP and you want to peep into it. docker exec -it amq bash docker inspect --format '{{ . NetworkSettings.IPAddress }}' amq