This document provides an overview of containers using Docker. It discusses infrastructure evolution and how containers provide environment standardization, isolation, and portability. It describes Docker architecture including images, Dockerfiles, containers, volumes and networking. It covers Docker commands for managing images, containers, volumes and networks. Container internals including cgroups, namespaces and union filesystems are explained. Docker Compose, Swarm orchestration and container registries are also summarized.
This document provides an overview of container orchestration with Kubernetes. It begins with recapping container and Docker concepts like namespaces, cgroups, and union filesystems. It then introduces Kubernetes architecture including components like kube-apiserver, kubelet and kube-proxy. Common Kubernetes objects like pods, services, replica sets and deployments are described. The document also covers Kubernetes networking with options like NodePort, LoadBalancer and Ingress. Additional topics include service discovery, logging/monitoring and persistent storage.
Cloud Native Computing - Part II - Public Cloud (AWS)Linjith Kunnon
This document provides information about cloud native computing, cloud computing, and serverless computing. It defines cloud native computing as using microservices packaged in containers that are dynamically orchestrated for optimal resource utilization. Cloud computing is described as shared and configurable computer resources that can be rapidly provisioned over the internet. Serverless computing is defined as a cloud execution model where the cloud provider manages resource allocation and pricing is based on actual resources consumed rather than pre-purchased units. The document also includes sections on public cloud AWS, describing its global infrastructure, service offerings, and architecture characteristics like scalability, availability, and fault tolerance.
This document provides an overview of cloud native computing, cloud computing, and serverless computing. It then discusses microservices architecture in more detail over multiple sections. The key points are:
- Cloud native computing uses microservices, containers, and orchestration to optimize resource utilization and enable fast application development.
- Cloud computing relies on shared, configurable resources that can be provisioned over the internet with minimal management effort.
- Serverless computing dynamically manages resources and prices based on actual usage rather than pre-purchased capacity.
- Microservices break applications into independently deployable units that communicate over well-defined APIs. This improves agility, scalability, and fault isolation but increases complexity.
-
Demystifying Containerization Principles for Data ScientistsDr Ganesh Iyer
Demystifying Containerization Principles for Data Scientists - An introductory tutorial on how Dockers can be used as a development environment for data science projects
Containers vs. VMs: It's All About the Apps!Steve Wilson
There has been much hype about whether Containers will replace Virtual Machines for use in Cloud architectures. We’ll look at the strengths of each technology and how they apply in real-world usage. By taking a top-down (Application-first) approach to requirements analysis, versus a bottoms-up (Infrastructure-first) approach, we can see how unique architectures will emerge that can balance the needs of Developers, DevOps and corporate IT.
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.
This document provides an introduction to microservices architecture and Docker containers. It defines microservices as small, independent processes communicating via APIs to compose complex applications. Docker containers package software with its dependencies and runtime into a standardized unit that can run on any infrastructure. Containers have similar isolation to virtual machines but are more efficient by sharing the host operating system kernel. The document outlines Docker features, practical usage scenarios, key concepts like images and containers, limitations, and the future of Docker including Windows support.
DockerCon EU 2015: The Missing Piece: when Docker networking unleashing soft ...Docker, Inc.
Presented by Adrien Blind, DevOps Coach, Socîeté Générale and Laurent Grangeau, Solutions Architect, Finaxys
Docker now provides several building blocks, combining engine, clustering, and componentization, while the new networking and service features enable many new usecases such as multi-tenancy.
In this session, you will first discover the new experimental networking and service features expected soon, and then drift rapidly to software architecture, explaining how a complete Docker stack unleashes microservices paradigms.
This document provides an overview of container orchestration with Kubernetes. It begins with recapping container and Docker concepts like namespaces, cgroups, and union filesystems. It then introduces Kubernetes architecture including components like kube-apiserver, kubelet and kube-proxy. Common Kubernetes objects like pods, services, replica sets and deployments are described. The document also covers Kubernetes networking with options like NodePort, LoadBalancer and Ingress. Additional topics include service discovery, logging/monitoring and persistent storage.
Cloud Native Computing - Part II - Public Cloud (AWS)Linjith Kunnon
This document provides information about cloud native computing, cloud computing, and serverless computing. It defines cloud native computing as using microservices packaged in containers that are dynamically orchestrated for optimal resource utilization. Cloud computing is described as shared and configurable computer resources that can be rapidly provisioned over the internet. Serverless computing is defined as a cloud execution model where the cloud provider manages resource allocation and pricing is based on actual resources consumed rather than pre-purchased units. The document also includes sections on public cloud AWS, describing its global infrastructure, service offerings, and architecture characteristics like scalability, availability, and fault tolerance.
This document provides an overview of cloud native computing, cloud computing, and serverless computing. It then discusses microservices architecture in more detail over multiple sections. The key points are:
- Cloud native computing uses microservices, containers, and orchestration to optimize resource utilization and enable fast application development.
- Cloud computing relies on shared, configurable resources that can be provisioned over the internet with minimal management effort.
- Serverless computing dynamically manages resources and prices based on actual usage rather than pre-purchased capacity.
- Microservices break applications into independently deployable units that communicate over well-defined APIs. This improves agility, scalability, and fault isolation but increases complexity.
-
Demystifying Containerization Principles for Data ScientistsDr Ganesh Iyer
Demystifying Containerization Principles for Data Scientists - An introductory tutorial on how Dockers can be used as a development environment for data science projects
Containers vs. VMs: It's All About the Apps!Steve Wilson
There has been much hype about whether Containers will replace Virtual Machines for use in Cloud architectures. We’ll look at the strengths of each technology and how they apply in real-world usage. By taking a top-down (Application-first) approach to requirements analysis, versus a bottoms-up (Infrastructure-first) approach, we can see how unique architectures will emerge that can balance the needs of Developers, DevOps and corporate IT.
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.
This document provides an introduction to microservices architecture and Docker containers. It defines microservices as small, independent processes communicating via APIs to compose complex applications. Docker containers package software with its dependencies and runtime into a standardized unit that can run on any infrastructure. Containers have similar isolation to virtual machines but are more efficient by sharing the host operating system kernel. The document outlines Docker features, practical usage scenarios, key concepts like images and containers, limitations, and the future of Docker including Windows support.
DockerCon EU 2015: The Missing Piece: when Docker networking unleashing soft ...Docker, Inc.
Presented by Adrien Blind, DevOps Coach, Socîeté Générale and Laurent Grangeau, Solutions Architect, Finaxys
Docker now provides several building blocks, combining engine, clustering, and componentization, while the new networking and service features enable many new usecases such as multi-tenancy.
In this session, you will first discover the new experimental networking and service features expected soon, and then drift rapidly to software architecture, explaining how a complete Docker stack unleashes microservices paradigms.
Robert Starmer's talk recording- https://codefresh.io/blog/containers-101-containers-openstack/
His slides from our meetup on August 17th, where he gave an overview of container technology and how it relates to OpenStack.
Containers #101 Meetup: Containers and OpenStackCodefresh
Recording posted here: https://codefresh.io/blog/containers-101-containers-openstack/
Slides from Robert Starmer's talk where he gave an overview of container technology and how it relates to OpenStack.
The ABC of Docker: The Absolute Best Compendium of DockerAniekan Akpaffiong
Containers provide a lightweight virtualization approach compared to virtual machines. Containers share the host operating system kernel and isolate applications at the process level, while virtual machines run a full guest operating system and require hypervisor software. Containers have a smaller footprint and overhead than virtual machines since they share resources more efficiently. Both containers and virtual machines provide portability and isolation benefits for applications.
This document provides an overview of Docker containers and their benefits. It discusses how containers provide isolation and portability for applications compared to virtual machines. The document outlines the history and growth of container technologies like Docker. It then covers how to build, ship, and run containerized applications on platforms like Docker, OpenShift, and Kubernetes. Use cases discussed include application development, modernization, and cloud migrations.
This document provides an introduction to Docker, including what Docker is, why it matters, and how it works. Some key points:
- Docker implements lightweight containers that provide process isolation using features of the Linux kernel like cgroups and namespaces. It allows building and shipping applications without dependency and compatibility issues.
- Docker solves the "N times N" compatibility problem that arises when applications need to run in different environments. Its portable containers and standardized operations help automate development and deployment workflows.
- Containers isolate applications from one another and their dependencies without the overhead of virtual machines. This makes them lightweight and efficient while still providing isolation of applications and flexibility to run anywhere.
Kubernetes for FaaS (Function as a Service) - Serverless evolution, some basic constructs, kubenetes features, comparisons - from Serverless conference 2017 Bangalore.
This document provides an overview of Docker basics including requirements, software, architecture, and concepts. It discusses traditional servers, virtual machines, and containers. Key advantages and disadvantages of each approach are listed. Docker concepts like images, containers, layers, Dockerfile, registry, and hub are defined. Common Docker commands are also outlined.
Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...Odinot Stanislas
(FR)
Introduction très sympathique autour des environnements Cloud avec un focus particulier sur la virtualisation et les containers (Docker)
(ENG)
Friendly presentation about Cloud solutions with a focus on virtualization and containers (Docker).
Author: Nicholas Weaver – Principal Architect, Intel Corporation
Docker and containers : Disrupting the virtual machine(VM)Rama Krishna B
This document discusses Docker containers and how they are disrupting virtual machines. It begins with definitions of key terms like virtualization, virtual machines, and hypervisors. It then compares virtual machines to containers, noting that containers are more lightweight and efficient since they share the host operating system and resources, while still providing isolation. The document traces the evolution of containers from early technologies like chroot to modern implementations in Docker. It positions Docker as an open source tool that packages and runs applications in portable software containers. While containers increase efficiency over virtual machines, the document argues both technologies can coexist in cloud environments.
In this session we introduce administrators to the concepts of Docker and discuss architectural decisions that will come into play when deploying containers. Although this session was originally presented as part of IBM's New Way To Learn initiative it does not discuss any specific aspects of IBM technology
Introduction to containers a practical session using core os and dockerAlessandro Martellone
The document provides an introduction to containers using CoreOS and Docker. It discusses cloud computing stacks including IaaS, PaaS, and SaaS and container solutions such as Docker, CoreOS, and Kubernetes. It then focuses on CoreOS, describing its components including systemd, etcd, and fleetd. The document also discusses microservices architectures and concludes with information about doing a practical lab using CoreOS and Docker.
Optimising nfv service chains on open stack using dockerAnanth Padmanabhan
Uploading slides presented in the OpenStack summit, at Austin in April, 2016. Here is the link to the video,
https://www.openstack.org/videos/video/optimising-nfv-service-chains-on-openstack-using-docker
Docker's Remote API allows for implementations of Docker that are radically different than the reference Docker implementation. Joyent implemented the Docker Remote API in their SmartDataCenter product to virtualize the Docker host and allow Docker containers to run on any machine in their data center. This allows them to leverage capabilities of SmartOS like ZFS, DTrace and virtualized networking. By unlocking innovation down the stack, the Remote API is Docker's killer feature as it does not imply physical co-location of containers and is flexible enough to accommodate different implementations.
Uploading the presentation given at the OpenStack Summit, Austin in April, 2016. The video link is here ,
https://www.openstack.org/videos/video/multi-tenancy-for-docker-containers-with-keystone-and-adding-quota-limits
Containers are not virtual machines - they have fundamentally different architectures and benefits. Docker allows users to build, ship, and run applications inside containers. It provides tools and a platform to manage the lifecycle of containerized applications, from development to production. Containers use layers and copy-on-write to provide efficient application isolation and delivery.
Docker is a system for running applications in lightweight containers that can be deployed across machines. It allows developers to package applications with all dependencies into standardized units for software development. Docker eliminates inconsistencies in environments and allows applications to be easily deployed on virtual machines, physical servers, public clouds, private clouds, and developer laptops through the use of containers.
Containers, Docker, and Microservices: the Terrific TrioJérôme Petazzoni
One of the upsides of Microservices is the ability to deploy often,at arbitrary schedules, and independently of other services, instead of requiring synchronized deployments happening on a fixed time.
But to really leverage this advantage, we need fast, efficient, and reliable deployment processes. That's one of the value propositions of Containers in general, and Docker in particular.
Docker offers a new, lightweight approach to application portability.It can build applications using easy-to-write, repeatable, efficient recipes; then it can ship them across environments using a common container format; and it can run them within isolated namespaces which abstract the operating environment, independently of the distribution,versions, network setup, and other details of this environment.
But Docker can do way more than deploy your apps. Docker also enables you to generalize Microservices principles and apply them on operational tasks like logging, remote access, backups, and troubleshooting.This decoupling results in independent, smaller, simpler moving parts.
Docker Kubernetes Istio
Understanding Docker and creating containers.
Container Orchestration based on Kubernetes
Blue Green Deployment, AB Testing, Canary Deployment, Traffic Rules based on Istio
Introduction to Docker storage, volume and imageejlp12
Docker storage drivers allow images and containers to be stored in different ways by implementing a pluggable storage driver interface. Common storage drivers include overlay2, aufs, devicemapper, and vfs. Images are composed of read-only layers stacked on top of each other, with containers adding a writable layer. Storage can be persisted using volumes, bind mounts, or tmpfs mounts. Strategies for managing persistent container data include host-based storage, volume plugins, and container storage platforms.
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...Codemotion
In less than two years Docker went from first line of code to major Open Source project with contributions from all the big names in IT. Everyone is excited, but what's in for me - as a Dev or Ops? In short, Docker makes creating Development, Test and even Production environments an order of magnitude simpler, faster and completely portable across both local and cloud infrastructure. We will start from Docker main concepts: how to create a Linux Container from base images, run your application in it, and version your runtimes as you would with source code, and finish with a concrete example.
Robert Starmer's talk recording- https://codefresh.io/blog/containers-101-containers-openstack/
His slides from our meetup on August 17th, where he gave an overview of container technology and how it relates to OpenStack.
Containers #101 Meetup: Containers and OpenStackCodefresh
Recording posted here: https://codefresh.io/blog/containers-101-containers-openstack/
Slides from Robert Starmer's talk where he gave an overview of container technology and how it relates to OpenStack.
The ABC of Docker: The Absolute Best Compendium of DockerAniekan Akpaffiong
Containers provide a lightweight virtualization approach compared to virtual machines. Containers share the host operating system kernel and isolate applications at the process level, while virtual machines run a full guest operating system and require hypervisor software. Containers have a smaller footprint and overhead than virtual machines since they share resources more efficiently. Both containers and virtual machines provide portability and isolation benefits for applications.
This document provides an overview of Docker containers and their benefits. It discusses how containers provide isolation and portability for applications compared to virtual machines. The document outlines the history and growth of container technologies like Docker. It then covers how to build, ship, and run containerized applications on platforms like Docker, OpenShift, and Kubernetes. Use cases discussed include application development, modernization, and cloud migrations.
This document provides an introduction to Docker, including what Docker is, why it matters, and how it works. Some key points:
- Docker implements lightweight containers that provide process isolation using features of the Linux kernel like cgroups and namespaces. It allows building and shipping applications without dependency and compatibility issues.
- Docker solves the "N times N" compatibility problem that arises when applications need to run in different environments. Its portable containers and standardized operations help automate development and deployment workflows.
- Containers isolate applications from one another and their dependencies without the overhead of virtual machines. This makes them lightweight and efficient while still providing isolation of applications and flexibility to run anywhere.
Kubernetes for FaaS (Function as a Service) - Serverless evolution, some basic constructs, kubenetes features, comparisons - from Serverless conference 2017 Bangalore.
This document provides an overview of Docker basics including requirements, software, architecture, and concepts. It discusses traditional servers, virtual machines, and containers. Key advantages and disadvantages of each approach are listed. Docker concepts like images, containers, layers, Dockerfile, registry, and hub are defined. Common Docker commands are also outlined.
Bare-metal, Docker Containers, and Virtualization: The Growing Choices for Cl...Odinot Stanislas
(FR)
Introduction très sympathique autour des environnements Cloud avec un focus particulier sur la virtualisation et les containers (Docker)
(ENG)
Friendly presentation about Cloud solutions with a focus on virtualization and containers (Docker).
Author: Nicholas Weaver – Principal Architect, Intel Corporation
Docker and containers : Disrupting the virtual machine(VM)Rama Krishna B
This document discusses Docker containers and how they are disrupting virtual machines. It begins with definitions of key terms like virtualization, virtual machines, and hypervisors. It then compares virtual machines to containers, noting that containers are more lightweight and efficient since they share the host operating system and resources, while still providing isolation. The document traces the evolution of containers from early technologies like chroot to modern implementations in Docker. It positions Docker as an open source tool that packages and runs applications in portable software containers. While containers increase efficiency over virtual machines, the document argues both technologies can coexist in cloud environments.
In this session we introduce administrators to the concepts of Docker and discuss architectural decisions that will come into play when deploying containers. Although this session was originally presented as part of IBM's New Way To Learn initiative it does not discuss any specific aspects of IBM technology
Introduction to containers a practical session using core os and dockerAlessandro Martellone
The document provides an introduction to containers using CoreOS and Docker. It discusses cloud computing stacks including IaaS, PaaS, and SaaS and container solutions such as Docker, CoreOS, and Kubernetes. It then focuses on CoreOS, describing its components including systemd, etcd, and fleetd. The document also discusses microservices architectures and concludes with information about doing a practical lab using CoreOS and Docker.
Optimising nfv service chains on open stack using dockerAnanth Padmanabhan
Uploading slides presented in the OpenStack summit, at Austin in April, 2016. Here is the link to the video,
https://www.openstack.org/videos/video/optimising-nfv-service-chains-on-openstack-using-docker
Docker's Remote API allows for implementations of Docker that are radically different than the reference Docker implementation. Joyent implemented the Docker Remote API in their SmartDataCenter product to virtualize the Docker host and allow Docker containers to run on any machine in their data center. This allows them to leverage capabilities of SmartOS like ZFS, DTrace and virtualized networking. By unlocking innovation down the stack, the Remote API is Docker's killer feature as it does not imply physical co-location of containers and is flexible enough to accommodate different implementations.
Uploading the presentation given at the OpenStack Summit, Austin in April, 2016. The video link is here ,
https://www.openstack.org/videos/video/multi-tenancy-for-docker-containers-with-keystone-and-adding-quota-limits
Containers are not virtual machines - they have fundamentally different architectures and benefits. Docker allows users to build, ship, and run applications inside containers. It provides tools and a platform to manage the lifecycle of containerized applications, from development to production. Containers use layers and copy-on-write to provide efficient application isolation and delivery.
Docker is a system for running applications in lightweight containers that can be deployed across machines. It allows developers to package applications with all dependencies into standardized units for software development. Docker eliminates inconsistencies in environments and allows applications to be easily deployed on virtual machines, physical servers, public clouds, private clouds, and developer laptops through the use of containers.
Containers, Docker, and Microservices: the Terrific TrioJérôme Petazzoni
One of the upsides of Microservices is the ability to deploy often,at arbitrary schedules, and independently of other services, instead of requiring synchronized deployments happening on a fixed time.
But to really leverage this advantage, we need fast, efficient, and reliable deployment processes. That's one of the value propositions of Containers in general, and Docker in particular.
Docker offers a new, lightweight approach to application portability.It can build applications using easy-to-write, repeatable, efficient recipes; then it can ship them across environments using a common container format; and it can run them within isolated namespaces which abstract the operating environment, independently of the distribution,versions, network setup, and other details of this environment.
But Docker can do way more than deploy your apps. Docker also enables you to generalize Microservices principles and apply them on operational tasks like logging, remote access, backups, and troubleshooting.This decoupling results in independent, smaller, simpler moving parts.
Docker Kubernetes Istio
Understanding Docker and creating containers.
Container Orchestration based on Kubernetes
Blue Green Deployment, AB Testing, Canary Deployment, Traffic Rules based on Istio
Introduction to Docker storage, volume and imageejlp12
Docker storage drivers allow images and containers to be stored in different ways by implementing a pluggable storage driver interface. Common storage drivers include overlay2, aufs, devicemapper, and vfs. Images are composed of read-only layers stacked on top of each other, with containers adding a writable layer. Storage can be persisted using volumes, bind mounts, or tmpfs mounts. Strategies for managing persistent container data include host-based storage, volume plugins, and container storage platforms.
Why everyone is excited about Docker (and you should too...) - Carlo Bonamic...Codemotion
In less than two years Docker went from first line of code to major Open Source project with contributions from all the big names in IT. Everyone is excited, but what's in for me - as a Dev or Ops? In short, Docker makes creating Development, Test and even Production environments an order of magnitude simpler, faster and completely portable across both local and cloud infrastructure. We will start from Docker main concepts: how to create a Linux Container from base images, run your application in it, and version your runtimes as you would with source code, and finish with a concrete example.
This document discusses Docker, an open source project that automates the deployment of applications inside software containers. It begins by describing common problems in application deployment and how virtual machines address some issues but introduce overhead. It then summarizes the history and rapid growth of Docker since its launch in 2013. The rest of the document dives into technical aspects of Docker like how images and containers work, comparisons to virtual machines, security considerations, the Docker workflow, and how Docker relates to DevOps and continuous delivery practices.
This document discusses containerization and the Docker ecosystem. It provides a brief history of containerization technologies and an overview of Docker components like Docker Engine, Docker Hub, and Docker Inc. It also discusses developing with Docker through concepts like Dockerfiles, images, and Fig for running multi-container apps. More advanced topics covered include linking containers, volumes, Docker Machine for provisioning, and clustering with Swarm and Kubernetes.
Docker and containers - Presentation Slides by Priyadarshini AnandPRIYADARSHINI ANAND
The document provides an overview of Docker containers and how to get started with Docker. It discusses what containers are, how Docker works, the differences between containers and VMs, and how to use basic Docker commands. It also covers creating Docker images using Dockerfiles and provides examples of common Dockerfile commands.
The document discusses continuous deployment with Docker. It begins with introductions of the presenter Andrew Aslinger and an overview of Docker. It then discusses using Docker for continuous deployment on AWS, including building and pushing Docker images, triggering EC2 instances to pull the latest images. It covers some advanced Docker techniques and OpenWhere's experiences using Docker. It recommends Docker for continuous deployment but notes some limitations for more complex scenarios.
This presentation by Andrew Aslinger discusses best practices and pitfalls of integrating Docker into Continuous Delivery Pipelines. Learn how Andrew and his team used Docker to replace Chef to simplify their development and migration processes.
ContainerDayVietnam2016: Dockerize a small businessDocker-Hanoi
This document discusses how Docker can transform development and deployment processes for modern applications. It outlines some of the challenges of developing and deploying applications across different environments, and how Docker addresses these challenges through containerization. The document then provides examples of how to dockerize a Rails and Python application, set up an Nginx reverse proxy with Let's Encrypt, and configure a Docker cluster for continuous integration testing.
This document provides an overview of Docker and containers. It begins with a brief introduction to 12 Factor Applications methodology and then defines what Docker is, explaining that containers utilize Linux namespaces and cgroups to isolate processes. It describes the Docker software and ecosystem, including images, registries, Docker CLI, Docker Compose, building images with Dockerfile, and orchestrating with tools like Kubernetes. It concludes with a live demo and links to additional resources.
Accelerate your software development with DockerAndrey Hristov
Docker is in all the news and this talk presents you the technology and shows you how to leverage it to build your applications according to the 12 factor application model.
This document provides an overview of Docker and containers for data science. It begins with definitions of containers and discusses the history and benefits of containers. It then explains how Docker containers work using namespaces, cgroups, and union file systems. Key Docker concepts are introduced like Dockerfiles, images, containers, and the Docker architecture. Practical examples are given for building simple machine learning models and databases in containers. Advanced topics covered include Docker Compose, DevOps workflows, continuous delivery, and Kubernetes. The document is intended to provide data scientists with an introduction to using Docker for their work.
This document provides an overview of Docker, explaining that Docker is an engine that sits between the OS and containers to enable rapid application deployment. It describes Docker components like images, containers, and repositories. Images are templates used to deploy containers, with images built from Dockerfiles that define layers. The document highlights that containers are stateless, and various strategies for handling configuration files. It also notes drawbacks like containers being read-only, and tips like using base images and keeping the firewall on.
This document provides an introduction to Docker. It begins with an overview of the shift from monolithic to microservices architecture and how Docker addresses the complexity problems that arise. Docker is described as a tool that packages applications and dependencies into standardized units called containers that can run on any Linux server. Key differences between Docker containers and traditional virtual machines are outlined. The document then covers Docker concepts like images, containers, and the Docker Engine. It demonstrates the Docker build, ship, and run workflow and introduces common Docker commands and tools.
The document provides an overview of getting started with Docker. It discusses what Docker is, how containerization differs from virtualization, and how to install Docker. It covers building Docker images using Dockerfiles, the difference between images and containers, and common Docker commands. The document also compares traditional deployment workflows to those using Docker, demonstrating how Docker can help ensure consistency across environments.
- The document introduces Docker, explaining that it provides standardization for packaging software applications and dependencies to make them portable and help transition from monolithic to microservices architectures.
- Docker uses operating system-level virtualization rather than hardware virtualization, allowing containers to start quickly while remaining isolated and using fewer resources than virtual machines.
- The document covers Docker concepts like images, containers, and registries, and provides examples of common Docker commands for pulling images, running containers, and managing the Docker workflow of building, shipping, and running applications.
Docker for Developers talk from the San Antonio Web Dev Meetup in Aug 2023
Never used Docker? This is perfect for you!
New to Docker? You'll learn something for sure!
Links included for all slides, code, and examples
Go from no Docker experience to a fully running web app in one slide deck!
This talk is aimed at technical people who have heard of Docker but not used it yet.
Docker is the new way to package, distribute and run your application or microservice. It's the bees-knees. It's the best thing since sliced bread. It's the kings pajamas etc, etc. In this short but packed talk I'll explain what Docker actually is and how it works. I'll show you how much of the hype is real and give a practical demo or two to illustrate the power of Docker. Is Docker the panacea for all ills? This talk will help you make up your mind.
This document provides an overview of Docker containers. It defines containers as lightweight sandboxed processes that share the same kernel as the host operating system. The key benefits of containers are that they have lower overhead than virtual machines and allow for the easy sharing and distribution of applications. The document discusses Docker images, containers, the client-server architecture, and basic Docker commands. It also covers use cases, the layered filesystem model, and security considerations when using containers.
Similar to Cloud Native Computing - Part III - Containers (20)
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc
How does your privacy program stack up against your peers? What challenges are privacy teams tackling and prioritizing in 2024?
In the fifth annual Global Privacy Benchmarks Survey, we asked over 1,800 global privacy professionals and business executives to share their perspectives on the current state of privacy inside and outside of their organizations. This year’s report focused on emerging areas of importance for privacy and compliance professionals, including considerations and implications of Artificial Intelligence (AI) technologies, building brand trust, and different approaches for achieving higher privacy competence scores.
See how organizational priorities and strategic approaches to data security and privacy are evolving around the globe.
This webinar will review:
- The top 10 privacy insights from the fifth annual Global Privacy Benchmarks Survey
- The top challenges for privacy leaders, practitioners, and organizations in 2024
- Key themes to consider in developing and maintaining your privacy program
“An Outlook of the Ongoing and Future Relationship between Blockchain Technologies and Process-aware Information Systems.” Invited talk at the joint workshop on Blockchain for Information Systems (BC4IS) and Blockchain for Trusted Data Sharing (B4TDS), co-located with with the 36th International Conference on Advanced Information Systems Engineering (CAiSE), 3 June 2024, Limassol, Cyprus.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Full-RAG: A modern architecture for hyper-personalizationZilliz
Mike Del Balso, CEO & Co-Founder at Tecton, presents "Full RAG," a novel approach to AI recommendation systems, aiming to push beyond the limitations of traditional models through a deep integration of contextual insights and real-time data, leveraging the Retrieval-Augmented Generation architecture. This talk will outline Full RAG's potential to significantly enhance personalization, address engineering challenges such as data management and model training, and introduce data enrichment with reranking as a key solution. Attendees will gain crucial insights into the importance of hyperpersonalization in AI, the capabilities of Full RAG for advanced personalization, and strategies for managing complex data integrations for deploying cutting-edge AI solutions.
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Zilliz
Join us to introduce Milvus Lite, a vector database that can run on notebooks and laptops, share the same API with Milvus, and integrate with every popular GenAI framework. This webinar is perfect for developers seeking easy-to-use, well-integrated vector databases for their GenAI apps.
20 Comprehensive Checklist of Designing and Developing a WebsitePixlogix Infotech
Dive into the world of Website Designing and Developing with Pixlogix! Looking to create a stunning online presence? Look no further! Our comprehensive checklist covers everything you need to know to craft a website that stands out. From user-friendly design to seamless functionality, we've got you covered. Don't miss out on this invaluable resource! Check out our checklist now at Pixlogix and start your journey towards a captivating online presence today.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Building RAG with self-deployed Milvus vector database and Snowpark Container...Zilliz
This talk will give hands-on advice on building RAG applications with an open-source Milvus database deployed as a docker container. We will also introduce the integration of Milvus with Snowpark Container Services.
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfMalak Abu Hammad
Discover how MongoDB Atlas and vector search technology can revolutionize your application's search capabilities. This comprehensive presentation covers:
* What is Vector Search?
* Importance and benefits of vector search
* Practical use cases across various industries
* Step-by-step implementation guide
* Live demos with code snippets
* Enhancing LLM capabilities with vector search
* Best practices and optimization strategies
Perfect for developers, AI enthusiasts, and tech leaders. Learn how to leverage MongoDB Atlas to deliver highly relevant, context-aware search results, transforming your data retrieval process. Stay ahead in tech innovation and maximize the potential of your applications.
#MongoDB #VectorSearch #AI #SemanticSearch #TechInnovation #DataScience #LLM #MachineLearning #SearchTechnology
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
5. Introduction to Containers
❖ Environment Standardization
❖ Isolation
❖ Light weight
❖ Portable
❖ Application Centric
Bare-metal Virtualization Containers
OS + Apps VM
Container
Hypervisor Container Host
VM VM
Container Container
Container Container Container
Infrastructure
Host Operating System
Container Runtime
Container Container Container
Bins/Libs
App B
Bins/Libs
App C
Bins/Libs
App A
Infrastructure
Hypervisor
VM VM VM
Bins/Libs
App B
Bins/Libs
App C
Bins/Libs
App A
Guest OS Guest OS Guest OS
Host Operating System
6. Container Internals
Infrastructure
Host Operating System
Container Runtime
Container Container Container
Bins/Libs
App B
Bins/Libs
App C
Bins/Libs
App A
Infrastructure
Hypervisor
VM VM VM
Bins/Libs
App B
Bins/Libs
App C
Bins/Libs
App A
Guest OS Guest OS Guest OS
Host Operating System
User Space
Hardware
Kernel Space
Process Management
File System Types
Block Devices
Scheduler,
Architecture specific
code
Memory Management
Network
Protocols &
drivers
File Systems Device Drivers
System Softwares Middlewares Applications
System Call (Linux Kernel Gateway)
Tools
CPU RAM Hard disk, CD
Terminal
equipment
Network
adapter
Network
Memory Manager
Character
devices
Containers are not like VM. They are just a normal process on the host machine.
7. Container Internals
Cgroups - Does resource metering and usage
limiting of resources like -
▪ CPU
▪ Memory
▪ Block I/O
▪ Network
Namespaces - Provides processes with their own
view of the system
Union file system - A file system that operate by
creating layers, making them very lightweight
and fast.
Container format - Combines namespaces,
control groups, and UnionFS into a wrapper .
The default container format is libcontainer.
Namespaces
pid net mnt uts ipc
Networking
veth bridge iptables
Cgroups
cpu cpuset memory blkio
Security
Capability SElinux seccomp
FileSystem
Device mapper btrfs aufs
device
user
8. Container Internals – Cgroups
Control groups(cgroups) is a Linux kernel feature which limits, isolates and measures resource usage of a group
of processes. Resources quotas for memory, CPU, network and IO can be set. Introduced in Linux kernel in Linux
2.6.24.
❖ blkio - Sets limits on I/O access to and from
block devices such as physical drives
❖ cpu - Sets limits on the available CPU time.
❖ cpuset - Assigns individual CPUs (on a multicore
system) and memory nodes to tasks in a
CGroup.
❖ Devices - Allows or denies access to devices
❖ freezer - Suspends or resumes tasks
❖ memory — Sets limit on memory use by tasks
9. Container Internals – Namespaces
Enables to have many hierarchies of processes with their own “subtrees” such that processes in one subtree
cant access or even know of those in another.
❖ pid – Isolates process ids
❖ net – Isolates network devices, stacks, ports etc
❖ mnt – Isolates mount points
❖ user – Isolates users and groups
❖ uts — host name and NIS domain name
10. Container Internals – File System
copy-on-write storage
❖ Create a new container instantly instead of
copying its whole file system
❖ Considerable reduce footprint and startup time
Union file system
❖ Operate by creating layers, making them very
lightweight and fast.
❖ Allows files and directories of separate file
systems, known as branches, to be transparently
overlaid, forming a single coherent file system
11. Different Editions and Installation Types
❖ Docker CE (Community Edition)
❖ Docker EE (Enterprise Edition)
❖ Installation Types
❖ Direct
❖ Mac or Windows
❖ Cloud
❖ Releases
❖ Stable - A reliable platform to work with. Stable releases track the Docker platform stable releases.
❖ Edge – Includes latest experimental features and may contain bugs. May be unstable.
12. Docker Platform Basics
Docker Client: A command line interface which talks to the docker daemon REST APIs (Docker CLI)
Docker Host: Runs the docker daemon. Can interact with docker daemon over its REST APIs
Docker Registry: Stores docker images
13. Docker Objects
Images: A read-only template for creating a docker container
Containers: Runnable instance of an image
Services: Scale containers across multiple docker daemons
describes
creates
creates
persist
connects
(networking)Image
Container
Container
Volume
14. Images
❖ Made of file system changes stacked in layers. Build on union file system.
❖ Images are immutable.
❖ Layers are uniquely identified and only stored once in a host.
❖ Container has read/write layer on top of image
An image contains application binaries, dependencies, metadata and information about how to run it. It does not
contains complete operating system – No Kernel, kernel modules like drivers etc. It can be as small as a single file or as
large as complete Ubuntu distribution with package manager, web server, application runtime etc.
16. Docker File
❖ FROM – Base image name
❖ WORKDIR – Working directory
❖ COPY – Copy file/folder
❖ ADD – Adds new file, directory or remote files.
❖ RUN – Run commands or scripts
❖ ENV – Set environment variables. Key value pairs.
❖ CMD – Default command to run
❖ EXPOSE - Listens on the specified network ports at runtime
A text document contains all commands to assemble an image. Start with a `FROM` instruction. The FROM
instruction specifies the Base Image from which you are building.
17. Docker Commands for Managing Images
docker image build Build an image from a Dockerfile
docker image history Show the history of an image
docker image inspect Display detailed information on one or more images
docker image ls List images
docker image prune Remove unused images
docker image pull Pull an image or a repository from a registry
docker image push Push an image or a repository to a registry
docker image rm Remove one or more images
docker image tag Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
18. Containers
Containers are processes and not mini virtual machines. Limited to what resource it can access. They exits when
process stops.
What happens when you execute – docker container run –p 8080:80 <imageName>
Infrastructure
Host Operating System
Docker Engine
Container Container Container
Bins/Libs
App B
Bins/Libs
App C
Bins/Libs
App A
❖ Looks for image locally in image cache
❖ Looks in remote repository if not cached locally
❖ Downloads and cache the image
❖ Creates a container based on that image
❖ Allocate virtual IP inside docker network
❖ Opens up port in local host and forwards to port in container (if mapped)
❖ Starts container with the default command
20. Docker Commands for Managing Containers
docker container exec Run a command in a running container
docker container inspect Display detailed information on one or more containers
docker container kill Kill one or more running containers
docker container logs Fetch the logs of a container
docker container ls List containers
docker container prune Remove all stopped containers
docker container rm Remove one or more containers
docker container run Run a command in a new container
docker container start Start one or more stopped containers
docker container stats Display a live stream of container(s) resource usage statistics
docker container stop Stop one or more running containers
docker container top Display the running processes of a container
21. Docker Networking
None - Does not have access to outside world. Disables
all networking.
Bridge – The default network driver. If you don’t specify
a driver, this is the type of network you are creating.
Usually used when applications run in standalone
containers that need to communicate.
Host – Adds container on the host network stack.
Host Machine
bridge
Network Interface
net-demo
A
B
B
X Z
Y
172.17.0.2
8081:80
172.17.0.3
8082:80
172.17.0.4
8083:80
172.17.0.10
8085:80
172.17.0.11
8085:80
172.17.0.12
8085:80
DNS
22. Volumes & Persistent Data
Containers are usually immutable and ephemeral. Docker has two options for containers to store files in the host
machine - volumes and bind mounts.
❖ Volumes: Stored in host filesystem which is managed by Docker (/var/lib/docker/volumes/ on Linux). Non-
Docker processes should not modify this part of the filesystem.
❖ Bind mounts: Can be stored anywhere on the host system. Non-Docker processes on the Docker host or a
Docker container can modify them.
23. Docker Compose
Tool for defining and running multi-container Docker applications. Uses
YAML file to configure application’s services. Runs in an isolated
environment.
Steps to use docker compose
❖ Define app’s environment with a Dockerfile.
❖ Define the services that make up app in docker-compose.yml.
❖ Run docker-compose up command to run the entire app.
24. Container Registries
Docker Hub
❖ Most popular public docker image registry
❖ Powered by docker registry along with some image building capabilities
❖ You can hook GitHub/Bitbucket with docker hub. Build image on commit and push to docker hub.
Docker Registry
❖ A private image registry. Contains set of web APIs and a storage system. Written in Go.
❖ Support multiple storage drivers- S3/Azure/GCP/OpenStack Swift etc.
❖ Not feature rich like docker hub.
A storage and content delivery system, holding named Docker images, available in different tagged versions. Users
interact with a registry by using docker push and pull commands
25. Docker Swarm
❖ Native support for docker engine cluster management. No additional software required.
❖ Docker Engine handles any specialization at runtime. Deploy both kinds of nodes - managers and workers.
❖ Declarative approach for defining the desired state of the various services.
❖ Swarm manager automatically adapts by adding or removing tasks to maintain the desired state when you scale
out of scale in.
Distributed State Store
Worker
Node
Manager
Node
Manager
Node
Manager
Node
Worker
Node
Worker
Node
Worker
Node
Worker
Node