Learn, Collaborate & Dockerize. Docker is an open platform that helps you build, ship and run applications anytime and anywhere.
Join Docker Jaipur:
Docker Page: events.docker.com/jaipur
Telegram Group: t.me/dockerjaipur
Twitter: @JaipurDocker
Learn, Collaborate & Dockerize. Docker is an open platform that helps you build, ship and run applications anytime and anywhere.
Join Docker Jaipur:
Docker Page: events.docker.com/jaipur
Telegram Group: t.me/dockerjaipur
Twitter: @JaipurDocker
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...Simplilearn
This presentation on Docker Container will help you understand what is Docker, the architecture of Docker, what is a Docker Container, how to create a Docker Container, benefits of Docker Container, basic commands of Containers and you will also see a demo on creating Docker Container. Docker is a very lightweight software container and containerization platform. Docker containers provide a way to run software in isolation. It is an open source platform that helps to package an application and its dependencies into a Docker container for the development and deployment of software and a Docker COntainer is a portable executable package which includes applications and their dependencies. With Docker Containers, applications can work efficiently in different computer environments.
Below DevOps tools are explained in this Docker Container presentation:
1. What is Docker?
2. The architecture of Docker?
3. What is a Docker Container?
4. How to create a Docker Container?
5. Benefits of Docker Containers
6. Basic commands of Containers
Simplilearn's DevOps Certification Training Course will prepare you for a career in DevOps, the fast-growing field that bridges the gap between software developers and operations. You’ll become an expert in the principles of continuous development and deployment, automation of configuration management, inter-team collaboration and IT service agility, using modern DevOps tools such as Git, Docker, Jenkins, Puppet and Nagios. DevOps jobs are highly paid and in great demand, so start on your path today.
Why learn DevOps?
Simplilearn’s DevOps training course is designed to help you become a DevOps practitioner and apply the latest in DevOps methodology to automate your software development lifecycle right out of the class. You will master configuration management; continuous integration deployment, delivery and monitoring using DevOps tools such as Git, Docker, Jenkins, Puppet and Nagios in a practical, hands-on and interactive approach. The DevOps training course focuses heavily on the use of Docker containers, a technology that is revolutionizing the way apps are deployed in the cloud today and is a critical skillset to master in the cloud age.
After completing the DevOps training course you will achieve hands-on expertise in various aspects of the DevOps delivery model. The practical learning outcomes of this Devops training course are:
An understanding of DevOps and the modern DevOps toolsets
The ability to automate all aspects of a modern code delivery and deployment pipeline using:
1. Source code management tools
2. Build tools
3. Test automation tools
4. Containerization through Docker
5. Configuration management tools
6. Monitoring tools
DevOps jobs are the third-highest tech role ranked by employer demand on Indeed.com but have the second-highest talent deficit.
Learn more at https://www.simplilearn.com/cloud-computing/devops-practitioner-certification-training
Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...Edureka!
( ** DevOps Training: https://www.edureka.co/devops ** )
This Docker Explained PPT will explain to you the fundamentals of Docker with a hands-on. Below are the topics covered in the PPT:
Problems Before Docker
Virtualization vs Containerization
What is Docker?
How does Docker work?
Docker Components
Docker Architecture
Docker Compose & Docker Swarm
Hands-On
An introduction to docker; the concepts; how to use it and why. The presentation is mainly based on the following presentation by docker, but with added info about Docker Compose and Docker Swarm.
https://www.slideshare.net/Docker/docker-101-nov-2016
#container #docker #Trifork #TriforkSelected #GotoConf
The purpose of this solution is to go over the Docker basics which explain containers, images, how they work, where to find them, the architecture (client, daemon), the difference between Docker and VMs, and we will see Docker and an image and see some commands.
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...Simplilearn
This presentation about Docker tutorial will help you understand what is Docker, advantages of Docker, how does Docker work, components of Docker, virtual machine vs Docker, advanced concepts in Docker, basic Docker commands along with a demo. A Docker is an OS-level virtualization software that enables developers and IT administrators to create, deploy and run applications in a Docker container with all their dependencies. It is said to be a very light-weight software container and containerization platform. Docker engine or Docker is a client-server application that builds and executes using Docker components. Rapid deployment, portability, better efficiency, faster configuration, scalability, security are some of the advantages you get by using Docker.
Below topics are explained in this Docker presentation:
1. Virtual machine vs Docker
2. What is Docker?
3. Advantages of Docker
4. How does Docker work?
5. Components of Docker
6. Advanced concepts in Docker
7. Basic Docker commands
Why learn DevOps?
Simplilearn’s DevOps training course is designed to help you become a DevOps practitioner and apply the latest in DevOps methodology to automate your software development lifecycle right out of the class. You will master configuration management; continuous integration deployment, delivery and monitoring using DevOps tools such as Git, Docker, Jenkins, Puppet and Nagios in a practical, hands-on and interactive approach. The DevOps training course focuses heavily on the use of Docker containers, a technology that is revolutionizing the way apps are deployed in the cloud today and is a critical skillset to master in the cloud age.
After completing the DevOps training course you will achieve hands-on expertise in various aspects of the DevOps delivery model. The practical learning outcomes of this Devops training course are:
An understanding of DevOps and the modern DevOps toolsets
The ability to automate all aspects of a modern code delivery and deployment pipeline using:
1. Source code management tools
2. Build tools
3. Test automation tools
4. Containerization through Docker
5. Configuration management tools
6. Monitoring tools
Who should take this course?
DevOps career opportunities are thriving worldwide. DevOps was featured as one of the 11 best jobs in America for 2017, according to CBS News, and data from Payscale.com shows that DevOps Managers earn as much as $122,234 per year, with DevOps engineers making as much as $151,461. DevOps jobs are the third-highest tech role ranked by employer demand on Indeed.com but have the second-highest talent deficit.
This DevOps training course will be of benefit the following professional roles:
1. Software Developers
2. Technical Project Managers
3. Architects
4. Operations Support
5. Deployment engineers
6. IT managers
7. Development managers
You can learn more at https://www.simplilearn.com/cloud-computing/devops-practitioner-certification-training
A basic introductory slide set on Kubernetes: What does Kubernetes do, what does Kubernetes not do, which terms are used (Containers, Pods, Services, Replica Sets, Deployments, etc...) and how basic interaction with a Kubernetes cluster is done.
Docker is the world's leading software containerization platform.
This is a comprehensive introduction to Docker, suitable for delivering in introductory meetups to an audience who does not know about docker.
In case you want to deliver this presentation somewhere, kindly drop me a mail at aditya.konarde@gmail.com
You can contact me at:
Connect with me onLinkedIN: https://www.linkedin.com/in/adityakonarde
Add me on Facebook: https://www.facebook.com/Aditya.Konarde
Tweet to me @aditya_konarde
Virtualization, Containers, Docker and scalable container management servicesabhishek chawla
In this presentation we take you through the concept of virtualization which includes the different types of virtualizations, understanding the Docker as a software containerization platform like Docker's Architecture, Building and running custom images in Docker containers, Scalable container management services which include overview of Amazon ECS & kubernetes and how at LimeTray we harnessed the power of kubernetes for scalable automated deployment of our microservices.
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...Simplilearn
This presentation on Docker Container will help you understand what is Docker, the architecture of Docker, what is a Docker Container, how to create a Docker Container, benefits of Docker Container, basic commands of Containers and you will also see a demo on creating Docker Container. Docker is a very lightweight software container and containerization platform. Docker containers provide a way to run software in isolation. It is an open source platform that helps to package an application and its dependencies into a Docker container for the development and deployment of software and a Docker COntainer is a portable executable package which includes applications and their dependencies. With Docker Containers, applications can work efficiently in different computer environments.
Below DevOps tools are explained in this Docker Container presentation:
1. What is Docker?
2. The architecture of Docker?
3. What is a Docker Container?
4. How to create a Docker Container?
5. Benefits of Docker Containers
6. Basic commands of Containers
Simplilearn's DevOps Certification Training Course will prepare you for a career in DevOps, the fast-growing field that bridges the gap between software developers and operations. You’ll become an expert in the principles of continuous development and deployment, automation of configuration management, inter-team collaboration and IT service agility, using modern DevOps tools such as Git, Docker, Jenkins, Puppet and Nagios. DevOps jobs are highly paid and in great demand, so start on your path today.
Why learn DevOps?
Simplilearn’s DevOps training course is designed to help you become a DevOps practitioner and apply the latest in DevOps methodology to automate your software development lifecycle right out of the class. You will master configuration management; continuous integration deployment, delivery and monitoring using DevOps tools such as Git, Docker, Jenkins, Puppet and Nagios in a practical, hands-on and interactive approach. The DevOps training course focuses heavily on the use of Docker containers, a technology that is revolutionizing the way apps are deployed in the cloud today and is a critical skillset to master in the cloud age.
After completing the DevOps training course you will achieve hands-on expertise in various aspects of the DevOps delivery model. The practical learning outcomes of this Devops training course are:
An understanding of DevOps and the modern DevOps toolsets
The ability to automate all aspects of a modern code delivery and deployment pipeline using:
1. Source code management tools
2. Build tools
3. Test automation tools
4. Containerization through Docker
5. Configuration management tools
6. Monitoring tools
DevOps jobs are the third-highest tech role ranked by employer demand on Indeed.com but have the second-highest talent deficit.
Learn more at https://www.simplilearn.com/cloud-computing/devops-practitioner-certification-training
Docker Explained | What Is A Docker Container? | Docker Simplified | Docker T...Edureka!
( ** DevOps Training: https://www.edureka.co/devops ** )
This Docker Explained PPT will explain to you the fundamentals of Docker with a hands-on. Below are the topics covered in the PPT:
Problems Before Docker
Virtualization vs Containerization
What is Docker?
How does Docker work?
Docker Components
Docker Architecture
Docker Compose & Docker Swarm
Hands-On
An introduction to docker; the concepts; how to use it and why. The presentation is mainly based on the following presentation by docker, but with added info about Docker Compose and Docker Swarm.
https://www.slideshare.net/Docker/docker-101-nov-2016
#container #docker #Trifork #TriforkSelected #GotoConf
The purpose of this solution is to go over the Docker basics which explain containers, images, how they work, where to find them, the architecture (client, daemon), the difference between Docker and VMs, and we will see Docker and an image and see some commands.
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...Simplilearn
This presentation about Docker tutorial will help you understand what is Docker, advantages of Docker, how does Docker work, components of Docker, virtual machine vs Docker, advanced concepts in Docker, basic Docker commands along with a demo. A Docker is an OS-level virtualization software that enables developers and IT administrators to create, deploy and run applications in a Docker container with all their dependencies. It is said to be a very light-weight software container and containerization platform. Docker engine or Docker is a client-server application that builds and executes using Docker components. Rapid deployment, portability, better efficiency, faster configuration, scalability, security are some of the advantages you get by using Docker.
Below topics are explained in this Docker presentation:
1. Virtual machine vs Docker
2. What is Docker?
3. Advantages of Docker
4. How does Docker work?
5. Components of Docker
6. Advanced concepts in Docker
7. Basic Docker commands
Why learn DevOps?
Simplilearn’s DevOps training course is designed to help you become a DevOps practitioner and apply the latest in DevOps methodology to automate your software development lifecycle right out of the class. You will master configuration management; continuous integration deployment, delivery and monitoring using DevOps tools such as Git, Docker, Jenkins, Puppet and Nagios in a practical, hands-on and interactive approach. The DevOps training course focuses heavily on the use of Docker containers, a technology that is revolutionizing the way apps are deployed in the cloud today and is a critical skillset to master in the cloud age.
After completing the DevOps training course you will achieve hands-on expertise in various aspects of the DevOps delivery model. The practical learning outcomes of this Devops training course are:
An understanding of DevOps and the modern DevOps toolsets
The ability to automate all aspects of a modern code delivery and deployment pipeline using:
1. Source code management tools
2. Build tools
3. Test automation tools
4. Containerization through Docker
5. Configuration management tools
6. Monitoring tools
Who should take this course?
DevOps career opportunities are thriving worldwide. DevOps was featured as one of the 11 best jobs in America for 2017, according to CBS News, and data from Payscale.com shows that DevOps Managers earn as much as $122,234 per year, with DevOps engineers making as much as $151,461. DevOps jobs are the third-highest tech role ranked by employer demand on Indeed.com but have the second-highest talent deficit.
This DevOps training course will be of benefit the following professional roles:
1. Software Developers
2. Technical Project Managers
3. Architects
4. Operations Support
5. Deployment engineers
6. IT managers
7. Development managers
You can learn more at https://www.simplilearn.com/cloud-computing/devops-practitioner-certification-training
A basic introductory slide set on Kubernetes: What does Kubernetes do, what does Kubernetes not do, which terms are used (Containers, Pods, Services, Replica Sets, Deployments, etc...) and how basic interaction with a Kubernetes cluster is done.
Docker is the world's leading software containerization platform.
This is a comprehensive introduction to Docker, suitable for delivering in introductory meetups to an audience who does not know about docker.
In case you want to deliver this presentation somewhere, kindly drop me a mail at aditya.konarde@gmail.com
You can contact me at:
Connect with me onLinkedIN: https://www.linkedin.com/in/adityakonarde
Add me on Facebook: https://www.facebook.com/Aditya.Konarde
Tweet to me @aditya_konarde
Virtualization, Containers, Docker and scalable container management servicesabhishek chawla
In this presentation we take you through the concept of virtualization which includes the different types of virtualizations, understanding the Docker as a software containerization platform like Docker's Architecture, Building and running custom images in Docker containers, Scalable container management services which include overview of Amazon ECS & kubernetes and how at LimeTray we harnessed the power of kubernetes for scalable automated deployment of our microservices.
Docker is the world’s leading software container platform. Developers use Docker to eliminate “works on my machine” problems when collaborating on code with co-workers. Operators use Docker to run and manage apps side-by-side in isolated containers to get better compute density. Enterprises use Docker to build agile software delivery pipelines to ship new features faster, more securely and with confidence for both Linux and Windows Server apps.
Learn More: http://www.collabnix.com
Introduction to automated environment management with Docker Containers - for...Lucas Jellema
(presented at the AMIS Platform SIG session on October 1st 2015, Nieuwegein, The Netherlands)
Creating and managing environments for development and r&d activities can be cumbersome. Quickly spinning up databases and web servers, using physical resources in a smart way, installing application components and having everything talk to each other can take a lot of time. This presentation introduces Docker - the key aspects of build, ship and run. It discusses the main concepts and typical actions.
Next, it takes you by the hand and introduces you to Vagrant and Virtual Box for quickly provisioning VMs in which Docker containers run platform components, applications and microservices - all environments fine tuned using Puppet and interacting with Git(Hub). We start from zero on your laptop and end with local environments in which to develop, test and run various types of applications.
The presentation spends some time on Oracle 's position regarding Docker and containers.
Java Developer Intro to Environment Management with Vagrant, Puppet, and Dock...Lucas Jellema
Creating and managing environments for development and R&D activities can be cumbersome. Quickly spinning up databases and web servers, using physical resources in a smart way, installing application components, and having all the elements talk to each other can take a lot of time. This session takes you by the hand and introduces you to Vagrant and Oracle VM VirtualBox for quickly provisioning VMs in which Docker containers run platform components, applications, and microservices—all set up by use of Puppet and interacting with Git(Hub). You’ll start from zero on your laptop and end with both local and public cloud environments in which to develop, test, and run various types of applications. Lean governance and evolution of the environments are discussed too.
Brief overview of the Docker eco system, the paradigm change it brings to development and operations processes. While docker has lots of potential its still working to mature into a viable production system that has proved itself secure, stable, and viable.
Dojo given at ESEI, Uvigo.
The slides include a set of great slides from a presentation made by Elvin Sindrilaru at CERN.
Docker is an open platform for building, shipping and running distributed applications. It gives programmers, development teams and operations engineers the common toolbox they need to take advantage of the distributed and networked nature of modern applications.
Docker introduction.
References : The Docker Book : Containerization is the new virtualization
http://www.amazon.in/Docker-Book-Containerization-new-virtualization-ebook/dp/B00LRROTI4/ref=sr_1_1?ie=UTF8&qid=1422003961&sr=8-1&keywords=docker+book
Code reviews are vital for ensuring good code quality. They serve as one of our last lines of defense against bugs and subpar code reaching production.
Yet, they often turn into annoying tasks riddled with frustration, hostility, unclear feedback and lack of standards. How can we improve this crucial process?
In this session we will cover:
- The Art of Effective Code Reviews
- Streamlining the Review Process
- Elevating Reviews with Automated Tools
By the end of this presentation, you'll have the knowledge on how to organize and improve your code review proces
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteGoogle
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-pilot-review/
AI Pilot Review: Key Features
✅Deploy AI expert bots in Any Niche With Just A Click
✅With one keyword, generate complete funnels, websites, landing pages, and more.
✅More than 85 AI features are included in the AI pilot.
✅No setup or configuration; use your voice (like Siri) to do whatever you want.
✅You Can Use AI Pilot To Create your version of AI Pilot And Charge People For It…
✅ZERO Manual Work With AI Pilot. Never write, Design, Or Code Again.
✅ZERO Limits On Features Or Usages
✅Use Our AI-powered Traffic To Get Hundreds Of Customers
✅No Complicated Setup: Get Up And Running In 2 Minutes
✅99.99% Up-Time Guaranteed
✅30 Days Money-Back Guarantee
✅ZERO Upfront Cost
See My Other Reviews Article:
(1) TubeTrivia AI Review: https://sumonreview.com/tubetrivia-ai-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
Cyaniclab : Software Development Agency Portfolio.pdfCyanic lab
CyanicLab, an offshore custom software development company based in Sweden,India, Finland, is your go-to partner for startup development and innovative web design solutions. Our expert team specializes in crafting cutting-edge software tailored to meet the unique needs of startups and established enterprises alike. From conceptualization to execution, we offer comprehensive services including web and mobile app development, UI/UX design, and ongoing software maintenance. Ready to elevate your business? Contact CyanicLab today and let us propel your vision to success with our top-notch IT solutions.
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamtakuyayamamoto1800
In this slide, we show the simulation example and the way to compile this solver.
In this solver, the Helmholtz equation can be solved by helmholtzFoam. Also, the Helmholtz equation with uniformly dispersed bubbles can be simulated by helmholtzBubbleFoam.
Into the Box Keynote Day 2: Unveiling amazing updates and announcements for modern CFML developers! Get ready for exciting releases and updates on Ortus tools and products. Stay tuned for cutting-edge innovations designed to boost your productivity.
We describe the deployment and use of Globus Compute for remote computation. This content is aimed at researchers who wish to compute on remote resources using a unified programming interface, as well as system administrators who will deploy and operate Globus Compute services on their research computing infrastructure.
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTier1 app
Even though at surface level ‘java.lang.OutOfMemoryError’ appears as one single error; underlyingly there are 9 types of OutOfMemoryError. Each type of OutOfMemoryError has different causes, diagnosis approaches and solutions. This session equips you with the knowledge, tools, and techniques needed to troubleshoot and conquer OutOfMemoryError in all its forms, ensuring smoother, more efficient Java applications.
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisGlobus
JASMIN is the UK’s high-performance data analysis platform for environmental science, operated by STFC on behalf of the UK Natural Environment Research Council (NERC). In addition to its role in hosting the CEDA Archive (NERC’s long-term repository for climate, atmospheric science & Earth observation data in the UK), JASMIN provides a collaborative platform to a community of around 2,000 scientists in the UK and beyond, providing nearly 400 environmental science projects with working space, compute resources and tools to facilitate their work. High-performance data transfer into and out of JASMIN has always been a key feature, with many scientists bringing model outputs from supercomputers elsewhere in the UK, to analyse against observational or other model data in the CEDA Archive. A growing number of JASMIN users are now realising the benefits of using the Globus service to provide reliable and efficient data movement and other tasks in this and other contexts. Further use cases involve long-distance (intercontinental) transfers to and from JASMIN, and collecting results from a mobile atmospheric radar system, pushing data to JASMIN via a lightweight Globus deployment. We provide details of how Globus fits into our current infrastructure, our experience of the recent migration to GCSv5.4, and of our interest in developing use of the wider ecosystem of Globus services for the benefit of our user community.
May Marketo Masterclass, London MUG May 22 2024.pdfAdele Miller
Can't make Adobe Summit in Vegas? No sweat because the EMEA Marketo Engage Champions are coming to London to share their Summit sessions, insights and more!
This is a MUG with a twist you don't want to miss.
Software Engineering, Software Consulting, Tech Lead.
Spring Boot, Spring Cloud, Spring Core, Spring JDBC, Spring Security,
Spring Transaction, Spring MVC,
Log4j, REST/SOAP WEB-SERVICES.
Developing Distributed High-performance Computing Capabilities of an Open Sci...Globus
COVID-19 had an unprecedented impact on scientific collaboration. The pandemic and its broad response from the scientific community has forged new relationships among public health practitioners, mathematical modelers, and scientific computing specialists, while revealing critical gaps in exploiting advanced computing systems to support urgent decision making. Informed by our team’s work in applying high-performance computing in support of public health decision makers during the COVID-19 pandemic, we present how Globus technologies are enabling the development of an open science platform for robust epidemic analysis, with the goal of collaborative, secure, distributed, on-demand, and fast time-to-solution analyses to support public health.
Listen to the keynote address and hear about the latest developments from Rachana Ananthakrishnan and Ian Foster who review the updates to the Globus Platform and Service, and the relevance of Globus to the scientific community as an automation platform to accelerate scientific discovery.
Globus Connect Server Deep Dive - GlobusWorld 2024Globus
We explore the Globus Connect Server (GCS) architecture and experiment with advanced configuration options and use cases. This content is targeted at system administrators who are familiar with GCS and currently operate—or are planning to operate—broader deployments at their institution.
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfJay Das
With the advent of artificial intelligence or AI tools, project management processes are undergoing a transformative shift. By using tools like ChatGPT, and Bard organizations can empower their leaders and managers to plan, execute, and monitor projects more effectively.
Experience our free, in-depth three-part Tendenci Platform Corporate Membership Management workshop series! In Session 1 on May 14th, 2024, we began with an Introduction and Setup, mastering the configuration of your Corporate Membership Module settings to establish membership types, applications, and more. Then, on May 16th, 2024, in Session 2, we focused on binding individual members to a Corporate Membership and Corporate Reps, teaching you how to add individual members and assign Corporate Representatives to manage dues, renewals, and associated members. Finally, on May 28th, 2024, in Session 3, we covered questions and concerns, addressing any queries or issues you may have.
For more Tendenci AMS events, check out www.tendenci.com/events
In software engineering, the right architecture is essential for robust, scalable platforms. Wix has undergone a pivotal shift from event sourcing to a CRUD-based model for its microservices. This talk will chart the course of this pivotal journey.
Event sourcing, which records state changes as immutable events, provided robust auditing and "time travel" debugging for Wix Stores' microservices. Despite its benefits, the complexity it introduced in state management slowed development. Wix responded by adopting a simpler, unified CRUD model. This talk will explore the challenges of event sourcing and the advantages of Wix's new "CRUD on steroids" approach, which streamlines API integration and domain event management while preserving data integrity and system resilience.
Participants will gain valuable insights into Wix's strategies for ensuring atomicity in database updates and event production, as well as caching, materialization, and performance optimization techniques within a distributed system.
Join us to discover how Wix has mastered the art of balancing simplicity and extensibility, and learn how the re-adoption of the modest CRUD has turbocharged their development velocity, resilience, and scalability in a high-growth environment.
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Mind IT Systems
Healthcare providers often struggle with the complexities of chronic conditions and remote patient monitoring, as each patient requires personalized care and ongoing monitoring. Off-the-shelf solutions may not meet these diverse needs, leading to inefficiencies and gaps in care. It’s here, custom healthcare software offers a tailored solution, ensuring improved care and effectiveness.
2. ABOUT ME
• Hi, I’m Ravindu Fernando
• Associate Tech Lead @ Emojot Inc.
• Cloud Computing Enthusiast
3. AGENDA
• Brief History – Infrastructure shifts over the decades
• VMs vs Containers
• What are containers and what problem does it solve?
• What is Docker?
• Deep dive into Docker Internals
• Demo
4. BRIEF HISTORY – INFRASTRUCTURE SHIFTS
OVER THE DECADES
Mainframe to PC
90’s
Baremetal to Virtual
00’s
Datacenter to Cloud
10’s
Host to Container (Serverless)
Now
Let’s Recap
MAJOR INFRASTRUCTURE SHIFTS
5. VMS VS CONTAINERS
Host Operating System
Hypervisor (Type 2)
APP 1
Bins/
Libs
Host Operating System
Infrastrucutre Infrastrucutre
Guest
OS
Guest
OS
Guest
OS
Container Engine
APP 3
Bins/
Libs
APP 2
Bins/
Libs
APP 1
Bins/
Libs
APP 3
Bins/
Libs
APP 2
Bins/
Libs
-Virtual
Machines-
-Containers-
9. IN SUMMARY A CONTAINER IS,
• Just an isolated process running on the host machine. And a
restricted process.
• Will share OS and, where appropriate, bins/ libraries and
limited to what resources it can access.
• It exits when the process stops.
“Containers are the next once-in-a-decade shift in IT
infrastructure and process”
11. • So what’s Docker? – In 2021, Docker means lot’s of things, let’s
just clear things out.
• Docker as a “Company”
• Docker as a “Product”
• Docker as a “Platform”
• Docker as a “CLI tool”
• Docker as a “Computer Program”
12. WHAT IS DOCKER?
• Docker provides the ability to package and run applications
within a loosely isolated environment which is a a container.
Simply it’s a container engine.
• It provides tooling and a platform to manage lifecycle of your
containers,
• Develop your apps and supporting components using containers
• Distribute and test your apps as a container
• Ability to deploy your app as a container or an orchestrated service, in whatever environment
which supports Docker installation
• It shares the same OS kernel
• It works on all major Linux Distributions and containers native
to Windows Server (specific versions)
13. UNDERLYING TECHNOLOGY IN DOCKER
• Docker is an extension of LXC’s (Linux Containers) capabilities
and packaged it in a way which is more developer friendly.
• It was developed in Go language and utilizes LXC, namespaces,
cgroups and the linux kernel itself. Docker uses namespaces to
provide the isolated workspace called a container. Each aspect
of a container runs in a separate namespace and its access is
limited to this namespace.
16. • Docker CLI structure,
• Old (Still works as expected) docker <command> options
• New – docker <command> <sub-command> (options)
• Pulling Docker Image
• docker pull nginx
• Running a Docker Container
• docker run –p 80:80 --name web-server nginx
• Stopping the Container
• docker stop web-server (or container id)
17. • Check what’s happening in a containers,
• docker container top web-server – Process list in 1 container
• docker container inspect web-server – Details of one container config
• docker container stats – Performance stats for all containers
• Getting a shell inside containers,
• docker container run –it – Start a new container interactively
• docker container exec –it <container_id_or_name> echo “I’m inside the container” –
Run additional commands in the container
• Listing, removing containers and images
• docker images
• docker container ls | docker ps
• docker <object> rm <id_or_name>
20. WHAT HAPPENS WHEN YOU RUN A
CONTAINER?
• docker run –p 80:80 nginx | docker container run –p 80:80 nginx
1. Looks for that particular image locally in image cache, if its not found pulls
it from the configured registry (image repository). Downloads the latest
version by default (nginx:latest)
2. Creates a new container based on that image and prepares to start
3. Docker allocates read write filesystem to the container, as its final layer.
This allows running container to modify files and directories in its local
filesystem.
4. Gives it a virtual IP on a private network inside docker engine
5. Opens up port 80 on host and forwards to port 80 in container.
6. Starts container by using the CMD in the image Dockerfile.
21. DOCKER OBJECTS
• Docker Images
• A read-only template with instructions/ metadata for creating a Docker
container.
• Can create your own image or use images created and published in a
registry by others.
• Dockerfile can be used to define steps required to create and run the
image.
• Each instruction in Dockerfile creates a layer in the image, only those
layers which changes each time are rebuilt – What makes images so
lightweight, small and fast.
22. • Docker Containers
• Runnable instance of an image.
• Can create, start, stop, move, or delete a container using the Docker API
or CLI.
• Can connect it to one or more networks, attach storage to it, or even
create a new image based on its current status.
• A container is defined by its image as well as any config options
provided to it when you create or start it. Note that when the container is
removed any data associated with it will be deleted unless those are not
stored in a persistent storage.
23. UNDERSTANDING DOCKER IMAGES/
CONTAINERS INTERNALS
• Docker Filesystem
• Boot file system (bootfs) – Contains the bootloader and the kernel. User
never touches this.
• Root file system (rootfs) – Includes the typical directory structure we
associate with Unix-like OS.
24. • In traditional Linux boot, kernel first mounts the rootfs as read-only,
checks its integrity, and then switches the rootfs volume to read-write
mode.
• Docker mounts the rootfs and instead of changing the file system to
read-write mode, it then takes advantage of union mounts service to
add a read-write filesystem over the read-only file system.
• In Docker terminology, a read-only layer is called an image. An image
never changes and is fixed.
• Each image depend on one more image which creates the layer beneath
it. The lower image is the parent of the upper image. Image without a
parent is a base image.
• When you run a container, Docker fetches the image and its Parent
Image, and repeats the process until it reaches the Base Image. Then the
Union File System adds a read-write layer on top.
• That read-write layer, plus the information about its Parent Image and
some additional information like its unique id, networking configuration,
and resource limits is called a container
25.
26. • A container can have two states, it may be running or exited.
• When a container is exited the state of the file system and its exit value
is saved.
• You can start, stop, and restart a container. The processes of restarting
a container from scratch will preserve its file system is just as it was
when the container was stopped. But the memory state of the container
is not preserved.
• You can also remove the container permanently.
• A container can also be promoted directly into an image using the
docker commit command. Once a container is committed as an image,
you can use it to create other images on top of it.
• docker commit <container-id> <image-name:tag>
27. • Based from the UFS, Docker uses a
strategy called Copy on Write to improve
the efficiency by minimizing I/O and the
size of each subsequent layers,
• If a file or directory exists in a lower layer
within the image, and another layer
(including the writable layer) needs read
access to it, it just uses the existing file.
• The first time another layer needs to
modify the file (when building the image
or running the container), the file is
copied into that layer and modified.
28. • Docker Image Creation and Storage
• You can create an image using a Dockerfile or by committing a
container’s changes back to an image.
• Once you create an image, it will be stored in the Docker
host’s local image cache.
• In order to move images in/out of the local image cache,
• Export/ Import it as a tarball
• Push/ pull to a remote image registry (ex - DockerHub)
29. DOCKER OBJECTS CONT…
• Docker Networks
• Each container is connected to a private virtual network called “bridge”.
• Each virtual network routes through the NAT firewall on the host IP.
• All containers on a virtual network can talk to each other without
exposing ports.
• Best practice is to create a new virtual network for each app.
30. • Docker enables to:
• Create new virtual networks.
• Attach container to more than one virtual network (or none)
• Skip virtual networks and use host IP (--net=host)
• Use different Docker network drivers to gain new abilities.
• Docker Engine provides support for different network drivers – bridge (default),
overlay and macvian etc.. . You can even write your own network driver plugin to
create your own one.
• Docker Networking – DNS
• Docker deamon has a built in DNS, which consider container name as
equivalent hostname of the container.
31.
32.
33. PERSISTENCE DATA
• If we want to use persistence data as in like databases or
unique data in containers, Docker enables that using two ways,
• Volumes – Make a location outside of container UFS.
• Bind Mounts - Link host path to the container path.
34. DOCKER COMPOSE
• Another Docker client, that lets you work with apps consisting
of a set of containers.
• This saves docker container run settings in easy to read file, which can
be committed to VCS.
• Can use this to create one-line development environments
• Consists of two components
• YAML formatted file that describes – Images, Containers, Networks,
Volumes etc…
• A CLI tool docker-compose used to automate/manage those YAML files
35. DOCKER BUILDKIT & BUILDX
• BuildKit enables higher performance docker builds and caching possibility to
decrease build times and increase productivity for free.
(https://github.com/moby/moby)
• Standard docker build command performs builds serially, which means reads and
builds each line or layer of the Dockerfile one layer at a time. With Buildkit enabled, it
allows for parallel build processing resulting in better performance and faster build
times.
• It also enables the use of cache and storing cache in remote container repositories
like DockerHub for better build performance as we don't have to rebuild every layer
of an image.
• You can enable BuildKit in places you already uses docker build including within your
CI/CD pipelines to reduce the build times.
36. DOCKER BUILDKIT & BUILDX CONT…
• Docker Buildx is a CLI plugin that extends the docker command with the full
support of the features provided by BuildKit plus additional features.
(Included within Docker Desktop versions & Docker Linux packages. You can
even download as a source from Github)
• Features of buildx,
• Familiar UI from docker build
• Full BuildKit capabilities with container driver
• Multiple builder instance support
• Multi-node builds for cross-platform images
• High-level build constructs (bake)
37. DOCKER BUILDKIT & BUILDX PERFORMANCE
Case Classic Builder BuildKit + buildx
Dependency Change 6 min 6 min
Code Change 6 min 3 min
No Change 6 min 1 min
Jiang Huan BuildKit
timings (Look for
references section)
38. DEMO
• Running/ Stopping/ Removing a NGINX container using Docker
CLI
• Building/ Running/ Shipping a NodeJS app with Docker
• Running multi-component app with Docker Compose
• Buildx demo with BuildKit – Multi-platform image creation
Why containers are such big deal? Mainframe to PC – PC distributed arch/ Changing networks and putting in Fiber/ TCP-IP
Baremetal to Virtual – Servers were too powerful, had lot of idle time. Better ways to utilize it was virtualizing. Lots of OS within single piece of H/W. Those are defaults, we are still using them.
DC to Cloud – Easy, cheap, disposable compute power via an internet connection. Everyone is know using cloud in some form.
Containers – Serveless/ FaaS made posible by containers. Because they are running within containers. We are allready at levels where this is the default way to run apps
These migration waves has been happening so quickly.
Explain highlevel components of both VMs and Containers.
Note on the Type 2 VMs as it more common to you.
Type 1 virtualization runs directly on the H/W while Type 2 uses host OS to provide virtualization management and other services
Type 1 – Hyper V/ Type 2 – VirtualBox/ VMWare
In summary VM is isolation of machines and containers are isolation of processes.
Not two competing technologies, can be used hand in hand based on the scenario
Matrix of Hell - it is the challenge of packaging any application, regardless of language/frameworks/dependencies, so that it can run on any cloud, regardless of operating systems/hardware/infrastructure.
How containers solves the matrix of hell problem
After talking about points -->
This isolation of containers processes and limiting to what resources it can access, is done using main two features called namespaces/ cgroups in the linux kernel level. Will talk more on this on upcoming slide
After talking about the slide -->
Containers are more useful in App modernization efforts and micro services as they offer speed, lightweight and portability - advantages of containers over the VMs.
Started in 2013 – Open soruce project by company called dotnet-cloud. Started a new company called Docker Inc.
When you say Docker, lots of people means lots of things, but on this session we mainly focus on the Docker as a platform. From this point onwards when we mean Docker, we refer to the Docker platform
Gret UX for developers to interact with containers
Linux kernel provides cgroups that allow the host CPU to better partition memory allocation into isolation levels called namespaces
Docker gives something more on top of LXC to manage and use it more user friendly
How docker solves the matrix of hell problem
Docker uses Client Server Architecture. Docker client talks to the Docker deamon which may run on the same system or can event connect to a remote oneClient and deamon communication is done using a REST API, over unix sockets or a network connectionDocker deamon (dockerd) – Listens to Docker API req and manages Docker objects (images, containers, networks, volumes). It can also communicate with other deamons to manage services which happens in Docker swarmDocker Client (docker) – primary way of users interacting with Docker. Command scenario. docker command uses Docker APIDocker Registry – Stores docker images. Docker Hub is a public one which anyone can use and by default docker checks for images here. There are lot of other options out there and you can even host your own private registry.
Understanding how things work internally allows allows you to understand why Docker is able to perform more faster and efficient. Plus also note some important points for writing Dockerfiles
After rootfs point
In Linux and other UNIX like systems everything is based on the Filesystem Hierarchy Standard
Union mounting - UFS is a way of combining multiple directories into 1 that appears to as a all those combined . The Docker storage driver is responsible for stacking these layers (overlay2, aufs etc..)
Images in next slide will help you to understand it better
You can see the writable layer is the container.
So the only diff between image vs container is the top read/writable layer.
When container is deleted read/writable layer is deleted
Since each container has its own read/writable container layer, this means multiple containers can share access to the same underlying image and yet have their own data sate
Bridge network – Default one, containers are by default deployed here limited to a single host running Docker Engine.
Overlay Network - An overlay network can include multiple hosts
Docker0 is the default bridge network, you can even create your own networks
Docker networking allows you to attach a container to as many networks as you like. You can also attach an already running container.
I won’t cover Docker Swarm on this session as it comes under container orchestration. I felt that it will drag this session as we have a demo session planned. But in simple SWARM is a container orchestration solution which allows you to manage multiple containers deployed across multiple host machines.Bit simillar to K8’s but less complex which means can’t extend into the levels we see with K8’s. Begineer friendly.
Moby project is an open framework created by Docker Inc. to assemble specialized container systems without reinventing the wheel.
Multi-node builds for cross-platform images – Before version 19.03 building multi platform images required you to manually create manifest files and build images separately. With Buildx, all these are included and allows you to create multi-platform images
Building multi platform images will comes in handy if you are an image publisher and requires to build images for multiple architectures, like for raspberry-pi with linux/arm/v7 | v8 or other archs like linux/amd64, linux/arm64.The bake command supports building images from compose files, similar to docker-compose build, but allowing all the services to be built concurrently as part of a single request.
All in all these are bit advanced features. I added this specifically to talk about creating multi-platform images and performance improvements you get with BuildKit. These are not features you will use upfront when starting with Docker, but just wanted to point out theses features exists for you to look into and use to optimize.
Will do a simple demo on this section. But I invite you to read about this and try this out and then you can use it in prod with confidence. Refer the reference section
Demo uses basic versions, just to showcase the capabilities. To know more I invite you to read the documentation and try out new things. Best way to learn