Intro- Docker Native for OSX and WindowsThomas Chacko
The document discusses Docker on various operating systems including Linux, Windows, and Mac OS X. It provides an overview of using Docker Toolbox versus installing Docker natively. When using Docker natively, it installs the Docker client, engine, compose and other tools directly onto the operating system leveraging native virtualization capabilities for improved performance compared to Docker Toolbox. However, the native versions are currently in beta with some limitations like only allowing one Linux virtual machine on Windows Hyper-V.
It is the understanding of docker and how it was useful in day-to-day tasks, some basic difference between old and new. At last my learnings and mistake while doing it all.
Docker Online Meetup #28: Production-Ready Docker SwarmDocker, Inc.
presented by Alexandre Beslic (@abronan)
Swarm v1.0 is now ready for running your apps in production!
Swarm is the easiest way to run Docker applications at large scale on a cluster. It turns a pool of Docker Engines into a single, virtual Engine. You don’t have to worry about where to put containers, or how they’re going to talk to each other - it just handles all that for you.
We’ve spent the last few months tirelessly hardening and tuning it, and in combination with multi-host networking and the new volume system in Docker Engine 1.9, we can confidently say that it’s ready for running your apps in production. In our tests, we’ve been running Swarm on EC2 with 1,000 nodes and 30,000 containers and it keeps on scheduling containers in less than half a second. Not even breaking a sweat! Keep an eye for a blog post soon with the full details.
Read more: http://blog.docker.com/2015/11/swarm-1-0/
Kubernetes is a container cluster manager that aims to provide a platform for automating deployment, scaling, and operations of application containers across clusters of machines. It uses pods as the basic building block, which are groups of application containers that share storage and networking resources. Kubernetes includes control planes for replication, scheduling, and services to expose applications. It supports deployment of multi-tier applications through replication controllers, services, labels, and pod templates.
Driving containerd operations with gRPCDocker, Inc.
containerd uses gRPC and protocol buffers to define its API. gRPC provides benefits like code generation, performance, and common standards. The containerd gRPC services include Execution, Shim, and Content, which define methods like Create, Start, and List. Protocol buffer definitions generate client and server code in various languages. Developers can build clients and extend containerd with new services. The containerd API is under active development and aims to stabilize before the 1.0 release while allowing backwards compatibility through gRPC versioning.
runC: The little engine that could (run Docker containers) by Docker Captain ...Docker, Inc.
With the announcement of the OCI by Solomon Hykes at last summer's DockerCon, a Docker-contributed reference implementation of the OCI spec, called runC, was born. While some of you may have tried runC or have a history of poking at the OS layer integration library to Linux namespaces, cgroups and the like (known as libcontainer), many of you may not know what runC offers. In this talk Phil Estes, Docker engine maintainer who has also contributed to libcontainer and runC, will show what's possible using runC as a lightweight and fast runtime environment to experiment with lower-level features of the container runtime. Phil will introduce a conversion tool called "riddler", which can inspect and convert container configurations from Docker into the proper OCI configuration bundle for easy conversion between the two environments. He'll also demonstrate how to make custom configurations for trying out security features like user namespaces and seccomp profiles.
Serverless computing is a cloud-native paradigm where developers build and run applications without managing infrastructure. It involves short-running, stateless functions that are triggered by events. With serverless, applications automatically scale up or down based on usage, and customers only pay for the compute time used. The document discusses serverless offerings from various cloud providers, demos serverless architectures using Docker containers, and notes serverless is well-suited for event-driven workloads like mobile backends and IoT but not long-running stateful processes.
Intro- Docker Native for OSX and WindowsThomas Chacko
The document discusses Docker on various operating systems including Linux, Windows, and Mac OS X. It provides an overview of using Docker Toolbox versus installing Docker natively. When using Docker natively, it installs the Docker client, engine, compose and other tools directly onto the operating system leveraging native virtualization capabilities for improved performance compared to Docker Toolbox. However, the native versions are currently in beta with some limitations like only allowing one Linux virtual machine on Windows Hyper-V.
It is the understanding of docker and how it was useful in day-to-day tasks, some basic difference between old and new. At last my learnings and mistake while doing it all.
Docker Online Meetup #28: Production-Ready Docker SwarmDocker, Inc.
presented by Alexandre Beslic (@abronan)
Swarm v1.0 is now ready for running your apps in production!
Swarm is the easiest way to run Docker applications at large scale on a cluster. It turns a pool of Docker Engines into a single, virtual Engine. You don’t have to worry about where to put containers, or how they’re going to talk to each other - it just handles all that for you.
We’ve spent the last few months tirelessly hardening and tuning it, and in combination with multi-host networking and the new volume system in Docker Engine 1.9, we can confidently say that it’s ready for running your apps in production. In our tests, we’ve been running Swarm on EC2 with 1,000 nodes and 30,000 containers and it keeps on scheduling containers in less than half a second. Not even breaking a sweat! Keep an eye for a blog post soon with the full details.
Read more: http://blog.docker.com/2015/11/swarm-1-0/
Kubernetes is a container cluster manager that aims to provide a platform for automating deployment, scaling, and operations of application containers across clusters of machines. It uses pods as the basic building block, which are groups of application containers that share storage and networking resources. Kubernetes includes control planes for replication, scheduling, and services to expose applications. It supports deployment of multi-tier applications through replication controllers, services, labels, and pod templates.
Driving containerd operations with gRPCDocker, Inc.
containerd uses gRPC and protocol buffers to define its API. gRPC provides benefits like code generation, performance, and common standards. The containerd gRPC services include Execution, Shim, and Content, which define methods like Create, Start, and List. Protocol buffer definitions generate client and server code in various languages. Developers can build clients and extend containerd with new services. The containerd API is under active development and aims to stabilize before the 1.0 release while allowing backwards compatibility through gRPC versioning.
runC: The little engine that could (run Docker containers) by Docker Captain ...Docker, Inc.
With the announcement of the OCI by Solomon Hykes at last summer's DockerCon, a Docker-contributed reference implementation of the OCI spec, called runC, was born. While some of you may have tried runC or have a history of poking at the OS layer integration library to Linux namespaces, cgroups and the like (known as libcontainer), many of you may not know what runC offers. In this talk Phil Estes, Docker engine maintainer who has also contributed to libcontainer and runC, will show what's possible using runC as a lightweight and fast runtime environment to experiment with lower-level features of the container runtime. Phil will introduce a conversion tool called "riddler", which can inspect and convert container configurations from Docker into the proper OCI configuration bundle for easy conversion between the two environments. He'll also demonstrate how to make custom configurations for trying out security features like user namespaces and seccomp profiles.
Serverless computing is a cloud-native paradigm where developers build and run applications without managing infrastructure. It involves short-running, stateless functions that are triggered by events. With serverless, applications automatically scale up or down based on usage, and customers only pay for the compute time used. The document discusses serverless offerings from various cloud providers, demos serverless architectures using Docker containers, and notes serverless is well-suited for event-driven workloads like mobile backends and IoT but not long-running stateful processes.
Dockerizing Windows Server Applications by Ender Barillas and Taylor BrownDocker, Inc.
A session covering the container workflow from the developers inner loop, CI/CD, to deployment in a container orchestration solution. We'll cover Visual Studio Code from a Mac, Visual Studio Code from Windows with Bash and Visual Studio as an in-container local development environment targeting both Windows and Linux Containers. We'll walk through CI, Validation and CD to the Azure Container Service running Docker Swarm as one example of how you can convert your existing config as code and VM deployments to the containerized workflows startups and early adopter enterprises are using today.
Dockercon 16 Wrap-up (Docker for Mac and Win, Docker 1.12, Swarm Mode, etc.)Nils De Moor
The Docker Belgium Meetup group held a Post-Dockercon16 meetup where the highlights of the conference were presented: Docker 1.12, Docker Datacenter, Docker Swarm Mode, Docker for AWS and Azure, DOcker for Mac and Windows.
Demo Notes: https://gist.github.com/ndemoor/7d72e0778f7a6a03b072e9b8c8e4781e
Since its first 1.12 release on July 2016, Docker Swarm Mode has matured enough as a clustering and scheduling tool for IT administrators and developers who can easily establish and manage a cluster of Docker nodes as a single virtual system. Swarm mode integrates the orchestration capabilities of Docker Swarm into Docker Engine itself and help administrators and developers with the ability to add or subtract container iterations as computing demands change. With sophisticated but easy to implement features like built-in Service Discovery, Routing Mesh, Secrets, declarative service model, scaling of the services, desired state reconciliation, scheduling, filters, multi-host networking model, Load-Balancing, rolling updates etc. Docker 17.06 is all set for production-ready product today. Join me webinar organised by Docker Izmir, to get familiar with the current Swarm Mode capabilities & functionalities across the heterogeneous environments.
Online Meetup: Why should container system / platform builders care about con...Docker, Inc.
Docker and the CNCF recently announced the general availability of containerd 1.0, an industry-standard runtime for building container solutions. The containerd 1.0 milestone comes after several months of alpha and beta releases, that allowed the team to implement various performance improvements: creation of a stress testing system, improvements in garbage collection and shim memory usage, etc. In this online meetup, we look at how containerd works, what are the top features and improvements and how can container system builders integrate with containerd.
Covers overview of CoreOS and current status of CoreOS projects. Presented at Open source meetup, Bangalore(http://www.meetup.com/Bangalore-Open-Source-Meetup/events/229763724/)
As developers, we are blessed with a huge variety of tools to help us in our daily jobs. One of the most popular ones that has shown up over the last few years is Docker. How does one go about getting started with Docker? Why should you invest your time in this new technology? What can you do with Docker? Let's find out!
Using Docker Swarm Mode to Deploy Service Without Loss by Dongluo Chen & Nish...Docker, Inc.
Talk from Docker SF Meetup #50
Abstract:
Docker swarm mode enables users to manage their applications with service primitives. In this talk we demonstrate how to do service upgrades without impacting your application. The Healthcheck feature provides health indication for a container. Coming up in Docker 1.13 release, Docker Swarm can connect healthcheck result with load balancer to implement no-loss service upgrade.
Speaker Biographies:
Nishant Totla is a software engineer at Docker, and works on the core open source team. He is currently working on Docker SwarmKit and Docker Swarm. Prior to Docker, he was a PhD student at UC Berkeley, doing research on programming languages. In his spare time, he enjoys long-distance running, biking, and other outdoor activities. Nishant tweets at @nishanttotla.
Dongluo Chen is a software engineer at Docker focusing on orchestration and container development. Before Docker he was software engineer manager at Microsoft Azure building and automating global data centers. He worked at France Telecom (Orange) and the Ohio State University as research scientist in networking area.
This document provides an overview of Docker including:
- Docker allows building applications once and deploying them anywhere reliably through containers that provide resource isolation.
- Key Docker components include images, resource isolation using cgroups and namespaces, filesystem isolation using layers, and networking capabilities.
- Under the hood, Docker utilizes cgroups for resource accounting, namespaces for isolation, security features like capabilities and AppArmor, and UnionFS for the layered filesystem.
- The Docker codebase includes components for the daemon, API, image and container management, networking, and integration testing. Commonly used packages include libcontainer for namespaces and cgroups and packages for security, mounting, and networking.
Catching up with what has happened with logging in Docker since late 2014 all the way up to the recently released Docker 0.10. Also, presenting my view on a comprehensive approach to monitoring Docker using the API to get events, logs, stats with a little bit of self promotion in pointing out that we have recently released an implementation of comprehensive monitoring as part of a Sumo Logic collector source.
Cloning Running Servers with Docker and CRIU by Ross BoucherDocker, Inc.
Docker containers encapsulate everything you need to describe and run a process, but the lifecycle of a process remains the same: it starts, it runs for a while, and then it ends. This talk will demonstrate how to combine Docker with a tool called CRIU to “roll-back” running processes to an earlier state. CRIU, which stands for Checkpoint & Restore in User Space, creates a complete snapshot of the state of a process, including things like memory contents, file descriptors, and even open tcp connections. It can be used for suspending and resuming processes, or live migrating them from one machine to another. Our developer tool, Tonic, uses it to allow developers to change their code in the middle of a program without restarting from the beginning. We’ll show how we use the Docker Remote API to do this in production thousands of times a day.
Overview of Docker 1.11 features(Covers Docker release summary till 1.11, runc/containerd, dns load balancing ipv6 service discovery, labels, macvlan/ipvlan)
Docker is a relatively new technology, but it is based on solid underpinnings of the Linux Kernel. It can provision instances in a fraction of the time versus a traditional virtual machine. This makes it a great candidate for development teams to create consistent test benches for their developers. To set up your own disposable Docker environments bring a laptop and make your development a pleasurable experience.
This document summarizes a Docker mentor workshop presentation about using Docker. It introduces the presenter and their experience with Docker. It then covers choosing Docker hosts on different operating systems, accessing Azure and Docker Hub accounts, notes on using Azure with Docker, and outlines for three hands-on labs covering basic Docker usage on Linux and Windows, and operations with Docker Swarm mode and a multi-container application.
Under the Hood with Docker Swarm Mode - Drew Erny and Nishant Totla, DockerDocker, Inc.
Join SwarmKit maintainers Drew and Nishant as they showcase features that have made Swarm Mode even more powerful, without compromising the operational simplicity it was designed with. They will discuss the implementation of new features that streamline deployments, increase security, and reduce downtime. These substantial additions to Swarm Mode are completely transparent and straightforward to use, and users may not realize they're already benefiting from these improvements under the hood.
Docker Essentials Workshop— Innovation Labs July 2020CloudHero
This presentation was the foundation of our Docker Essentials workshop hosted by CloudHero CEO & founder Andrei Manea for the Innovation Labs team on the 23rd of July 2020.
This presentation covers the following topics:
-Getting started with containers
-A bit of history about orchestration
-Introduction to services (what they are, how to create and scale them).
To find out more about this topic, check https://cloudhero.io/
The document explains Docker Compose, a tool for defining and running multi-container Docker applications. It allows users to configure application services using a YAML file and run them using a single command. The document provides examples of Docker Compose files for running simple applications with 2 or more containers, and converting a Docker run command to a Docker Compose file. It also lists some common Docker Compose subcommands.
Dockerizing Windows Server Applications by Ender Barillas and Taylor BrownDocker, Inc.
A session covering the container workflow from the developers inner loop, CI/CD, to deployment in a container orchestration solution. We'll cover Visual Studio Code from a Mac, Visual Studio Code from Windows with Bash and Visual Studio as an in-container local development environment targeting both Windows and Linux Containers. We'll walk through CI, Validation and CD to the Azure Container Service running Docker Swarm as one example of how you can convert your existing config as code and VM deployments to the containerized workflows startups and early adopter enterprises are using today.
Dockercon 16 Wrap-up (Docker for Mac and Win, Docker 1.12, Swarm Mode, etc.)Nils De Moor
The Docker Belgium Meetup group held a Post-Dockercon16 meetup where the highlights of the conference were presented: Docker 1.12, Docker Datacenter, Docker Swarm Mode, Docker for AWS and Azure, DOcker for Mac and Windows.
Demo Notes: https://gist.github.com/ndemoor/7d72e0778f7a6a03b072e9b8c8e4781e
Since its first 1.12 release on July 2016, Docker Swarm Mode has matured enough as a clustering and scheduling tool for IT administrators and developers who can easily establish and manage a cluster of Docker nodes as a single virtual system. Swarm mode integrates the orchestration capabilities of Docker Swarm into Docker Engine itself and help administrators and developers with the ability to add or subtract container iterations as computing demands change. With sophisticated but easy to implement features like built-in Service Discovery, Routing Mesh, Secrets, declarative service model, scaling of the services, desired state reconciliation, scheduling, filters, multi-host networking model, Load-Balancing, rolling updates etc. Docker 17.06 is all set for production-ready product today. Join me webinar organised by Docker Izmir, to get familiar with the current Swarm Mode capabilities & functionalities across the heterogeneous environments.
Online Meetup: Why should container system / platform builders care about con...Docker, Inc.
Docker and the CNCF recently announced the general availability of containerd 1.0, an industry-standard runtime for building container solutions. The containerd 1.0 milestone comes after several months of alpha and beta releases, that allowed the team to implement various performance improvements: creation of a stress testing system, improvements in garbage collection and shim memory usage, etc. In this online meetup, we look at how containerd works, what are the top features and improvements and how can container system builders integrate with containerd.
Covers overview of CoreOS and current status of CoreOS projects. Presented at Open source meetup, Bangalore(http://www.meetup.com/Bangalore-Open-Source-Meetup/events/229763724/)
As developers, we are blessed with a huge variety of tools to help us in our daily jobs. One of the most popular ones that has shown up over the last few years is Docker. How does one go about getting started with Docker? Why should you invest your time in this new technology? What can you do with Docker? Let's find out!
Using Docker Swarm Mode to Deploy Service Without Loss by Dongluo Chen & Nish...Docker, Inc.
Talk from Docker SF Meetup #50
Abstract:
Docker swarm mode enables users to manage their applications with service primitives. In this talk we demonstrate how to do service upgrades without impacting your application. The Healthcheck feature provides health indication for a container. Coming up in Docker 1.13 release, Docker Swarm can connect healthcheck result with load balancer to implement no-loss service upgrade.
Speaker Biographies:
Nishant Totla is a software engineer at Docker, and works on the core open source team. He is currently working on Docker SwarmKit and Docker Swarm. Prior to Docker, he was a PhD student at UC Berkeley, doing research on programming languages. In his spare time, he enjoys long-distance running, biking, and other outdoor activities. Nishant tweets at @nishanttotla.
Dongluo Chen is a software engineer at Docker focusing on orchestration and container development. Before Docker he was software engineer manager at Microsoft Azure building and automating global data centers. He worked at France Telecom (Orange) and the Ohio State University as research scientist in networking area.
This document provides an overview of Docker including:
- Docker allows building applications once and deploying them anywhere reliably through containers that provide resource isolation.
- Key Docker components include images, resource isolation using cgroups and namespaces, filesystem isolation using layers, and networking capabilities.
- Under the hood, Docker utilizes cgroups for resource accounting, namespaces for isolation, security features like capabilities and AppArmor, and UnionFS for the layered filesystem.
- The Docker codebase includes components for the daemon, API, image and container management, networking, and integration testing. Commonly used packages include libcontainer for namespaces and cgroups and packages for security, mounting, and networking.
Catching up with what has happened with logging in Docker since late 2014 all the way up to the recently released Docker 0.10. Also, presenting my view on a comprehensive approach to monitoring Docker using the API to get events, logs, stats with a little bit of self promotion in pointing out that we have recently released an implementation of comprehensive monitoring as part of a Sumo Logic collector source.
Cloning Running Servers with Docker and CRIU by Ross BoucherDocker, Inc.
Docker containers encapsulate everything you need to describe and run a process, but the lifecycle of a process remains the same: it starts, it runs for a while, and then it ends. This talk will demonstrate how to combine Docker with a tool called CRIU to “roll-back” running processes to an earlier state. CRIU, which stands for Checkpoint & Restore in User Space, creates a complete snapshot of the state of a process, including things like memory contents, file descriptors, and even open tcp connections. It can be used for suspending and resuming processes, or live migrating them from one machine to another. Our developer tool, Tonic, uses it to allow developers to change their code in the middle of a program without restarting from the beginning. We’ll show how we use the Docker Remote API to do this in production thousands of times a day.
Overview of Docker 1.11 features(Covers Docker release summary till 1.11, runc/containerd, dns load balancing ipv6 service discovery, labels, macvlan/ipvlan)
Docker is a relatively new technology, but it is based on solid underpinnings of the Linux Kernel. It can provision instances in a fraction of the time versus a traditional virtual machine. This makes it a great candidate for development teams to create consistent test benches for their developers. To set up your own disposable Docker environments bring a laptop and make your development a pleasurable experience.
This document summarizes a Docker mentor workshop presentation about using Docker. It introduces the presenter and their experience with Docker. It then covers choosing Docker hosts on different operating systems, accessing Azure and Docker Hub accounts, notes on using Azure with Docker, and outlines for three hands-on labs covering basic Docker usage on Linux and Windows, and operations with Docker Swarm mode and a multi-container application.
Under the Hood with Docker Swarm Mode - Drew Erny and Nishant Totla, DockerDocker, Inc.
Join SwarmKit maintainers Drew and Nishant as they showcase features that have made Swarm Mode even more powerful, without compromising the operational simplicity it was designed with. They will discuss the implementation of new features that streamline deployments, increase security, and reduce downtime. These substantial additions to Swarm Mode are completely transparent and straightforward to use, and users may not realize they're already benefiting from these improvements under the hood.
Docker Essentials Workshop— Innovation Labs July 2020CloudHero
This presentation was the foundation of our Docker Essentials workshop hosted by CloudHero CEO & founder Andrei Manea for the Innovation Labs team on the 23rd of July 2020.
This presentation covers the following topics:
-Getting started with containers
-A bit of history about orchestration
-Introduction to services (what they are, how to create and scale them).
To find out more about this topic, check https://cloudhero.io/
The document explains Docker Compose, a tool for defining and running multi-container Docker applications. It allows users to configure application services using a YAML file and run them using a single command. The document provides examples of Docker Compose files for running simple applications with 2 or more containers, and converting a Docker run command to a Docker Compose file. It also lists some common Docker Compose subcommands.
This document provides an overview of advanced Docker topics including Docker installation, Docker networking using bridges and volumes, and creating Dockerfiles. It discusses installing Docker on CentOS, the different types of Docker networks including bridge, host, overlay and macvlan. It also covers creating and managing Docker volumes, starting containers with volumes, and creating Dockerfiles with components like FROM, RUN, COPY and ENTRYPOINT.
This document provides an overview and instructions for Docker installation, networking, volumes, and Dockerfiles. It discusses installing Docker on CentOS, the different network drivers including bridge, and how to create and manage user-defined bridges and volumes. It also explains the components and usage of Dockerfiles to build images, including base images, environment variables, copying files, setting entrypoints and commands. The document includes examples of building an image locally and pushing it to a Docker repository.
Intersog Hack_n_Tell. Docker. First steps.Intersog
This document provides an introduction to Docker, including its components, installation, basic workflow, usage scenarios and examples. Docker is presented as an alternative to virtual machines that provides OS-level virtualization through containers. It consists of a daemon, REST API and CLI client. Examples shown how to run basic services like Postgres and Wordpress in isolated containers on the local host. The document recommends Docker Hub for images and links to official documentation for further learning.
JDO 2019: Tips and Tricks from Docker Captain - Łukasz LachPROIDEA
The document provides tips and tricks for using Docker including:
1) Installing Docker on Linux in an easy way allowing choice of channel and version.
2) Setting up a local Docker Hub mirror for caching and revalidating images.
3) Using docker inspect to find containers that exited with non-zero codes or show commands for running containers.
4) Organizing docker-compose files with extensions, environment variables, anchors and aliases for well structured services.
Online Meetup: What's new in docker 1.13.0 Docker, Inc.
Core team member and release captain Victor Vieux will introduce us to what's new in Docker 1.13. Victor will first give an overview and demo some of the new features below:
• Restructuration of CLI commands
• Experimental build
• CLI backward compatibility
• Swarm default encryption at rest
• Compose to Swarm
• Data management commands
• Brand new “init system”
• Various orchestration enhancements
This document provides an overview of containerization basics using Docker. It defines key Docker terminology like images, containers, daemons, clients, and Docker Hub. It explains how to run a static website in a container, view running containers and container logs. It also summarizes common Dockerfile commands and how to build, push and pull images from a private registry.
DCEU 18: Developing with Docker ContainersDocker, Inc.
Laura Frank Tacho - Director of Engineering, CloudBees
Wouldn't it be great for a new developer on your team to have their dev environment totally set up on their first day? What about having the confidence that your dev environment mirrors testing and prod? Containers enable this to become reality, along with other great benefits like keeping dependencies nice and tidy and making packaged code easier to share. Come learn about the ways containers can help you build and ship software easily, and walk away with two actionable steps you can take to start using Docker containers for development.
Tips pour sécuriser ses conteneurs docker/podmanThierry Gayet
The document provides tips for generating Docker containers securely and efficiently using best practices like non-root users, multistage builds, and caching layers. It discusses adding a non-root user to match the host UID/GID for permission handling. It also explains how to optimize the Dockerfile order and leverage cached layers to avoid unnecessary downloads. Multistage builds allow separating the build from runtime environments for smaller images.
Docker is an open platform for building, shipping and running containers. It provides lightweight virtualization that allows applications to run reliably from one computing environment to another. Some key benefits of Docker include guaranteed consistency through isolation of applications and their dependencies into lightweight executable packages called containers.
Be a happier developer with Docker: Tricks of the tradeNicola Paolucci
This document provides an overview of how Docker can make developers happy by providing clean and perfect development environments, fast application mobility and repeatability, and enabling great collaboration through microservices architecture. It then discusses various workflows and techniques for using Docker, including developing inside a single running container, leveraging containers to modularize code, reusing Dockerfiles, sharing data between containers through volumes, accessing Docker in a VM through methods like NFS or Samba, using linked containers for simple service connections, and opening ports on containers using techniques like port forwarding, VBoxManage port exposure, and iptables.
The document provides tips for creating efficient Docker container images with fewer layers and smaller sizes. It discusses choosing minimal base images like Alpine Linux, combining Dockerfile commands to reduce layers, using multistage builds to separate compilation from deployment, and pruning unused images and containers to reduce disk usage. The document demonstrates optimizing a sample Dockerfile in multiple iterations, reducing the image size from 568MB to 72.8MB. It emphasizes choosing the right base image, caching dependencies, and removing unnecessary layers.
Evolving to serverless
How the applications are transforming
A note on CI/CD
Architecture of Docker
Setting up a docker environment
Deep dive into DockerFile and containers
Tagging and publishing an image to docker hub
A glimpse from session one
Services: scale our application and enable load-balancing
Swarm: Deploying application onto a cluster, running it on multiple machines
Stack: A stack is a group of interrelated services that share dependencies, and can be orchestrated and scaled together.
Deploy your app: Compose file works just as well in production as it does on your machine.
Extras: Containers and VMs together
This document provides a summary of key concepts in Docker orchestration and networking:
- It describes the default Docker networks (bridge, none, host) and how to create custom networks for containers to communicate.
- Docker Compose is introduced as a tool to define and run multi-container applications using a compose file to configure services.
- Docker Swarm mode allows deploying containers across multiple Docker hosts as a cluster, with services that can be scaled out and updated on the swarm. Managers and workers are node types in a swarm.
- Key features for swarm deployments using Docker Compose files are discussed, including resources, update configurations, and restart policies.
Be a Happier Developer with Docker: Tricks of the TradeDocker, Inc.
This document discusses various workflows and techniques for using Docker, including:
- Developing inside a single running container for a simplified development environment
- Leveraging containers to modularize code and applications into reusable components
- Sharing data between containers and hosts using volumes to mount folders
- Accessing containers running in virtual machines through NFS, Samba, or by patching boot2docker
- Linking containers to simplify connections between services
- Exposing ports from containers to hosts through port forwarding or iptables rules
This document discusses options for resource sharing such as dedicated servers, virtual machines, and containers. It focuses on Docker as a lightweight containerization platform. Key points include: Docker uses the host's kernel to run containers without their own operating systems, making them faster to start up than virtual machines; images contain the components of an application and its dependencies to build containers; the Docker CLI is used to pull public images, map resources, and build custom images using Dockerfiles.
The document provides an overview of containerization basics using Docker. It defines key Docker terminology like images, containers, daemon, client, and Docker Hub. It explains how to run a static website in a container, view running containers and images, build and push custom images to a private registry. It also covers container logging and setting up a private Docker registry using the registry image.
Similar to Docker Distributed application bundle & Stack - Overview (20)
Session 1 - Intro to Robotic Process Automation.pdfUiPathCommunity
👉 Check out our full 'Africa Series - Automation Student Developers (EN)' page to register for the full program:
https://bit.ly/Automation_Student_Kickstart
In this session, we shall introduce you to the world of automation, the UiPath Platform, and guide you on how to install and setup UiPath Studio on your Windows PC.
📕 Detailed agenda:
What is RPA? Benefits of RPA?
RPA Applications
The UiPath End-to-End Automation Platform
UiPath Studio CE Installation and Setup
💻 Extra training through UiPath Academy:
Introduction to Automation
UiPath Business Automation Platform
Explore automation development with UiPath Studio
👉 Register here for our upcoming Session 2 on June 20: Introduction to UiPath Studio Fundamentals: https://community.uipath.com/events/details/uipath-lagos-presents-session-2-introduction-to-uipath-studio-fundamentals/
MySQL InnoDB Storage Engine: Deep Dive - MydbopsMydbops
This presentation, titled "MySQL - InnoDB" and delivered by Mayank Prasad at the Mydbops Open Source Database Meetup 16 on June 8th, 2024, covers dynamic configuration of REDO logs and instant ADD/DROP columns in InnoDB.
This presentation dives deep into the world of InnoDB, exploring two ground-breaking features introduced in MySQL 8.0:
• Dynamic Configuration of REDO Logs: Enhance your database's performance and flexibility with on-the-fly adjustments to REDO log capacity. Unleash the power of the snake metaphor to visualize how InnoDB manages REDO log files.
• Instant ADD/DROP Columns: Say goodbye to costly table rebuilds! This presentation unveils how InnoDB now enables seamless addition and removal of columns without compromising data integrity or incurring downtime.
Key Learnings:
• Grasp the concept of REDO logs and their significance in InnoDB's transaction management.
• Discover the advantages of dynamic REDO log configuration and how to leverage it for optimal performance.
• Understand the inner workings of instant ADD/DROP columns and their impact on database operations.
• Gain valuable insights into the row versioning mechanism that empowers instant column modifications.
inQuba Webinar Mastering Customer Journey Management with Dr Graham HillLizaNolte
HERE IS YOUR WEBINAR CONTENT! 'Mastering Customer Journey Management with Dr. Graham Hill'. We hope you find the webinar recording both insightful and enjoyable.
In this webinar, we explored essential aspects of Customer Journey Management and personalization. Here’s a summary of the key insights and topics discussed:
Key Takeaways:
Understanding the Customer Journey: Dr. Hill emphasized the importance of mapping and understanding the complete customer journey to identify touchpoints and opportunities for improvement.
Personalization Strategies: We discussed how to leverage data and insights to create personalized experiences that resonate with customers.
Technology Integration: Insights were shared on how inQuba’s advanced technology can streamline customer interactions and drive operational efficiency.
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving
Manufacturing custom quality metal nameplates and badges involves several standard operations. Processes include sheet prep, lithography, screening, coating, punch press and inspection. All decoration is completed in the flat sheet with adhesive and tooling operations following. The possibilities for creating unique durable nameplates are endless. How will you create your brand identity? We can help!
Connector Corner: Seamlessly power UiPath Apps, GenAI with prebuilt connectorsDianaGray10
Join us to learn how UiPath Apps can directly and easily interact with prebuilt connectors via Integration Service--including Salesforce, ServiceNow, Open GenAI, and more.
The best part is you can achieve this without building a custom workflow! Say goodbye to the hassle of using separate automations to call APIs. By seamlessly integrating within App Studio, you can now easily streamline your workflow, while gaining direct access to our Connector Catalog of popular applications.
We’ll discuss and demo the benefits of UiPath Apps and connectors including:
Creating a compelling user experience for any software, without the limitations of APIs.
Accelerating the app creation process, saving time and effort
Enjoying high-performance CRUD (create, read, update, delete) operations, for
seamless data management.
Speakers:
Russell Alfeche, Technology Leader, RPA at qBotic and UiPath MVP
Charlie Greenberg, host
"Scaling RAG Applications to serve millions of users", Kevin GoedeckeFwdays
How we managed to grow and scale a RAG application from zero to thousands of users in 7 months. Lessons from technical challenges around managing high load for LLMs, RAGs and Vector databases.
Introducing BoxLang : A new JVM language for productivity and modularity!Ortus Solutions, Corp
Just like life, our code must adapt to the ever changing world we live in. From one day coding for the web, to the next for our tablets or APIs or for running serverless applications. Multi-runtime development is the future of coding, the future is to be dynamic. Let us introduce you to BoxLang.
Dynamic. Modular. Productive.
BoxLang redefines development with its dynamic nature, empowering developers to craft expressive and functional code effortlessly. Its modular architecture prioritizes flexibility, allowing for seamless integration into existing ecosystems.
Interoperability at its Core
With 100% interoperability with Java, BoxLang seamlessly bridges the gap between traditional and modern development paradigms, unlocking new possibilities for innovation and collaboration.
Multi-Runtime
From the tiny 2m operating system binary to running on our pure Java web server, CommandBox, Jakarta EE, AWS Lambda, Microsoft Functions, Web Assembly, Android and more. BoxLang has been designed to enhance and adapt according to it's runnable runtime.
The Fusion of Modernity and Tradition
Experience the fusion of modern features inspired by CFML, Node, Ruby, Kotlin, Java, and Clojure, combined with the familiarity of Java bytecode compilation, making BoxLang a language of choice for forward-thinking developers.
Empowering Transition with Transpiler Support
Transitioning from CFML to BoxLang is seamless with our JIT transpiler, facilitating smooth migration and preserving existing code investments.
Unlocking Creativity with IDE Tools
Unleash your creativity with powerful IDE tools tailored for BoxLang, providing an intuitive development experience and streamlining your workflow. Join us as we embark on a journey to redefine JVM development. Welcome to the era of BoxLang.
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation F...AlexanderRichford
QR Secure: A Hybrid Approach Using Machine Learning and Security Validation Functions to Prevent Interaction with Malicious QR Codes.
Aim of the Study: The goal of this research was to develop a robust hybrid approach for identifying malicious and insecure URLs derived from QR codes, ensuring safe interactions.
This is achieved through:
Machine Learning Model: Predicts the likelihood of a URL being malicious.
Security Validation Functions: Ensures the derived URL has a valid certificate and proper URL format.
This innovative blend of technology aims to enhance cybersecurity measures and protect users from potential threats hidden within QR codes 🖥 🔒
This study was my first introduction to using ML which has shown me the immense potential of ML in creating more secure digital environments!
Must Know Postgres Extension for DBA and Developer during MigrationMydbops
Mydbops Opensource Database Meetup 16
Topic: Must-Know PostgreSQL Extensions for Developers and DBAs During Migration
Speaker: Deepak Mahto, Founder of DataCloudGaze Consulting
Date & Time: 8th June | 10 AM - 1 PM IST
Venue: Bangalore International Centre, Bangalore
Abstract: Discover how PostgreSQL extensions can be your secret weapon! This talk explores how key extensions enhance database capabilities and streamline the migration process for users moving from other relational databases like Oracle.
Key Takeaways:
* Learn about crucial extensions like oracle_fdw, pgtt, and pg_audit that ease migration complexities.
* Gain valuable strategies for implementing these extensions in PostgreSQL to achieve license freedom.
* Discover how these key extensions can empower both developers and DBAs during the migration process.
* Don't miss this chance to gain practical knowledge from an industry expert and stay updated on the latest open-source database trends.
Mydbops Managed Services specializes in taking the pain out of database management while optimizing performance. Since 2015, we have been providing top-notch support and assistance for the top three open-source databases: MySQL, MongoDB, and PostgreSQL.
Our team offers a wide range of services, including assistance, support, consulting, 24/7 operations, and expertise in all relevant technologies. We help organizations improve their database's performance, scalability, efficiency, and availability.
Contact us: info@mydbops.com
Visit: https://www.mydbops.com/
Follow us on LinkedIn: https://in.linkedin.com/company/mydbops
For more details and updates, please follow up the below links.
Meetup Page : https://www.meetup.com/mydbops-databa...
Twitter: https://twitter.com/mydbopsofficial
Blogs: https://www.mydbops.com/blog/
Facebook(Meta): https://www.facebook.com/mydbops/
From Natural Language to Structured Solr Queries using LLMsSease
This talk draws on experimentation to enable AI applications with Solr. One important use case is to use AI for better accessibility and discoverability of the data: while User eXperience techniques, lexical search improvements, and data harmonization can take organizations to a good level of accessibility, a structural (or “cognitive” gap) remains between the data user needs and the data producer constraints.
That is where AI – and most importantly, Natural Language Processing and Large Language Model techniques – could make a difference. This natural language, conversational engine could facilitate access and usage of the data leveraging the semantics of any data source.
The objective of the presentation is to propose a technical approach and a way forward to achieve this goal.
The key concept is to enable users to express their search queries in natural language, which the LLM then enriches, interprets, and translates into structured queries based on the Solr index’s metadata.
This approach leverages the LLM’s ability to understand the nuances of natural language and the structure of documents within Apache Solr.
The LLM acts as an intermediary agent, offering a transparent experience to users automatically and potentially uncovering relevant documents that conventional search methods might overlook. The presentation will include the results of this experimental work, lessons learned, best practices, and the scope of future work that should improve the approach and make it production-ready.
GlobalLogic Java Community Webinar #18 “How to Improve Web Application Perfor...GlobalLogic Ukraine
Під час доповіді відповімо на питання, навіщо потрібно підвищувати продуктивність аплікації і які є найефективніші способи для цього. А також поговоримо про те, що таке кеш, які його види бувають та, основне — як знайти performance bottleneck?
Відео та деталі заходу: https://bit.ly/45tILxj
How information systems are built or acquired puts information, which is what they should be about, in a secondary place. Our language adapted accordingly, and we no longer talk about information systems but applications. Applications evolved in a way to break data into diverse fragments, tightly coupled with applications and expensive to integrate. The result is technical debt, which is re-paid by taking even bigger "loans", resulting in an ever-increasing technical debt. Software engineering and procurement practices work in sync with market forces to maintain this trend. This talk demonstrates how natural this situation is. The question is: can something be done to reverse the trend?
What is an RPA CoE? Session 2 – CoE RolesDianaGray10
In this session, we will review the players involved in the CoE and how each role impacts opportunities.
Topics covered:
• What roles are essential?
• What place in the automation journey does each role play?
Speaker:
Chris Bolin, Senior Intelligent Automation Architect Anika Systems
Getting the Most Out of ScyllaDB Monitoring: ShareChat's TipsScyllaDB
ScyllaDB monitoring provides a lot of useful information. But sometimes it’s not easy to find the root of the problem if something is wrong or even estimate the remaining capacity by the load on the cluster. This talk shares our team's practical tips on: 1) How to find the root of the problem by metrics if ScyllaDB is slow 2) How to interpret the load and plan capacity for the future 3) Compaction strategies and how to choose the right one 4) Important metrics which aren’t available in the default monitoring setup.
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving
What began over 115 years ago as a supplier of precision gauges to the automotive industry has evolved into being an industry leader in the manufacture of product branding, automotive cockpit trim and decorative appliance trim. Value-added services include in-house Design, Engineering, Program Management, Test Lab and Tool Shops.
1. Docker Distributed
Application Bundle &
Stack
20th Aug 2016, Docker Bangalore Meetup,
RedHat India Pvt. Ltd.
Thomas Chacko
thomasch (at ) iconnexions.com
2. Distributed Application Bundle & Stack
Advisory: The functionality described here is marked as experimental, and as such, may
change before it becomes GA.
• Real-world applications are complex - codebases, stacks, databases, queues,
networks..
• Deploy and managing using docker compose and service to start/stop and link
individual containers / service not efficient within production environment
• Introducing DAB :: Experimental open file format to bundle and distribute all
artefacts for a real-world multi-container, multi-host, multi-tiered networked
applications
• High level abstraction - leverages all new features of Docker 1.12 ( swarm - orchestration &
load balancing, services, nodes etc ).
• DAB describes ( JSON ) :
• all services required
• images
• ports to expose
• networks used to link services
• etc…
3. Distributed Application Bundle & Stack
• Requires docker-compose 1.8 and docker 1.12. Developers use docker-compose to
create DABs and Ops deploys these stacks using docker.
• Image is a portable format for a single container file
• Distributed Application Bundle or DAB is a light-weight portable format for multiple
containers. Each bundle can be deployed as a Stack at run-time in production.
4. DAB in action - demo
Front End Back End
• Python webapp which lets you vote
between several options
• Node.js /AngularJS webapp showing
the results of the poll in real time
• Redis Queue to collect new votes
• Java Worker which consumes
votes and stores them in the
database
• Postgres database backed by a
Docker Volume
5. related command synopsis
$ docker-compose bundle --help
Generate a Distributed Application Bundle (DAB) from the Compose file . Images must have digests stored, which requires
interaction with a Docker registry. If digests aren't stored for all images, you can fetch them with `docker-compose pull` or `docker-
compose push`. To push images automatically when bundling, pass `--push-images`. Only services with a `build` option specified will
have their images pushed.
Usage: bundle [options]
Options:
--push-images Automatically push images for any services
which have a `build` option specified.
-o, --output PATH Path to write the bundle file to.
Defaults to "<project name>.dab”.
$ docker deploy --help
Usage: docker deploy [OPTIONS] STACK
Create and update a stack from a Distributed Application Bundle (DAB)
Options:
--file string Path to a Distributed Application Bundle file (Default: STACK.dab)
--help Print usage
--with-registry-auth Send registry authentication details to Swarm agents
6. related command synopsis..cont
$ docker stack --help
Usage: docker stack COMMAND
Manage Docker stacks
Options:
--help Print usage
Commands:
config Print the stack configuration
deploy Create and update a stack from a Distributed Application Bundle (DAB)
rm Remove the stack
ps List the tasks in the stack
7. Docker Compose vs DAB
• Docker Compose is a client side tool presently used in development / test workflow
• Docker DAB is ( specifically intended ) to be used at scale and server side orchestration
within production environment. Bundle deployment is an integral function of docker 1.12
engine. Stack can be deployed on a docker 1.12 swarm cluster only.
• DAB can deploy non-containerised app also.
• more (?)
8. Playbook : swarm/dab local test setup 1/4
• Pre-requisite : one Host PC or laptop : Windows 7+, MacOS X 10.11+, any modern Linux
with 3.10+ kernel ( recommended, Redhat/Centos/Ubuntu) with min 4GB ( 8GB
recomended) RAM and 20GB free hard disk.
• For Windows and OSX, one can install docker toolbox from https://docs.docker.com/
toolbox/overview/. Additionally can install docker for windows or OSX client also. For
Linux, install latest docker ver 1.12+ client /server , compose 1.8 from https://
docs.docker.com/engine/getstarted/step_one/ . Docker toolbox on OSX and Windows also
installs Oracle Virtualbox ; for Linux install it from https://www.virtualbox.org/wiki/
Downloads
• Create a docker hub/cloud login account ( https://cloud.docker.com/ - req only if one wish
to build custom images and push/pull from docker hub repository)
• Now we are ready to setup nodes and a swarm cluster on it
• Note : This playbook is for local VM setup. One can alternatively spin up machines on any
public cloud and follow this guide accordingly.
9. We will setup a simple 3 node swarm with 1 leader (master ) using docker-machine
Create the nodes :
$ docker-machine create -d virtualbox master
$ docker-machine create -d virtualbox node-1
$ docker-machine create -d virtualbox node-2
Inspect/configure the VM nodes created :
$ docker-machine ls
Note : VirtualBox will generally provision 2 networks : one NAT for internet and one Host-only networking whose IP will be
dynamically allotted with each reboots. This changing DHCP IP allocation will break our docker PKI and swarm config on
node reboots and hence the workaround presently is a tweak script here which can make this IP static ( Ref : https://
github.com/fivestars/docker-machine-ipconfig). Immediately after the VMs are created and docker provisioned - use the
above docker-machine-ipconfig cmd and make these ips static. The other option is to bypass docker-machine and instead
directly use vagrant/puppet/chef scripts with fixed ip declaration.
Recommended ( not mandatory ) - Add the ip address for all 3 nodes from ‘docker-machine ls’ cmd above to /etc/hosts on
the host OS machine. This playbook assumes such and refers nodes with their host name here viz. ( master , node-1 ,
node-2 ). Recommended to edit VM settings and set all the 3 node VMs memory to 1GB (min, recomended 2GB) each.
Roll out the swarm cluster network :
(Optional ) If docker for Windows or OSX client was also installed, then we need to point this local docker client to the
Docker engine on master node by setting DOCKER_* environment variables using :
$ eval $( docker-machine env master )
Lets initialise the swarm network on master node.
$ docker-machine ssh master
master $ docker swarm init — listen-addr=192.168.99.103:2733 —advertise-addr=192.168.99.103:2733
The - - advertise-addr above is required because of 2 network interface on these VMs. Substitute 192.168.99.103 above
with your master node ip from ‘docker-machine ls’. The above command will return an URL with a swarm token string to be
run on each worker nodes. SSH to each worker nodes and copy/paste this command on it
$ docker-machine ssh node-1
node-1 $ ( copy/paste the above join command here )
repeat above for node-2. The docker swarm cluster is setup .
Checkout the Docker swarm cluster members . PS: all commands further down are assumed to be run against master node.
$ docker node ls
This will show the three nodes with the elected leader node(s) tagged.
Playbook : swarm/dab test-setup 2/4
10. Test setup the classic voting app ( thanks to Docker )
Option -1 Download/ build the images required for this Docker playbook
$ git clone https://github.com/docker/example-voting-app.git
$ cd example-voting-app
There are 5 services , one can modify the script to change the poll options etc. refer git read me.
$ cd vote
$ docker build --no-cache -t thomasch/votingapp_voting-app .
{ replace thomasch here in all the image name(s) with your docker-hub id or name }
$ cd worker
$ docker build --no-cache -t thomasch/votingapp_worker .
$ cd result
$ docker build --no-cache -t thomasch/votingapp_result-app .
We will push these images to docker repository ( also create image digest )
$ docker login
{ provide docker hub/cloud username and password when prompted }
$ docker push thomasch/votingapp_voting-app
$ docker push thomasch/votingapp_worker
$ docker push thomasch/votingapp_result-app
{ use corrected docker image names above }
Option-2 OR ALTERNATIVELY instead of Option-1 , [ only if you trust them :) ] - you can pull these images directly
from my docker public repository
$ docker pull thomasch/votingapp_voting-app
$ docker pull thomasch/votingapp_worker
$ docker pull thomasch/votingapp_result-app
Inspect the docker-compose.yml file in the example-voting-app folder. This file has to be slightly modified to be dab
conversion compatible . Check/download the final edited version here :
https://gist.github.com/thomgit/c0ddfcded35f986055e391442c83bda9
Copy this yml file to a new directory. Review and update the images names if you have changed them during custom
build above in Option-1.
Playbook : swarm/dab test-build 3/4
11. Convert the compose YAML to DAB format and test stack and swarm workflow
cd to the directory with modified docker-compose.yml file and covert this to .DAB format
first pull the remaining images required for this voting app from public repository - redis, postgres
$ docker-compose pull vote, redis, worker , db, result
convert the docker-compose yaml file to JSON dab format using docker-compose client tool ( >ver 1.8 )
$ docker-compose bundle -o votingapp.dab.
deploy this dab file on the swarm cluster we setup
$ docker deploy votingapp
This will deploy 5 services - it might take time for all the 5 services to start. Check the stack services status using
$ docker stack ps votingapp
Inspect the ‘PublishedPort’ for votingapp_vote and votingapp_result. These port(s) should be in 30000+ range.
$ docker service inspect votingapp_vote --pretty
$ docker service inspect votingapp_result --pretty
The voting and results front-end will be available in the host machine browser on any ( swarm mesh network feature ) node
cluster ip address ( e.g. http://192.168.99.xx: <PublshedPort> ). Test the vote page and see the real-time poll results
displayed by the node.js/AngularJS result app page.
We have stood-up an entire application stack now . The new ‘docker stack’ CLI can be used to manage all the services
together in this stack:
check the stack configuration
$ docker stack config votingapp
delete the entire stack
$ docker stack rm votingapp
Additional suggested activity
Use this docker swarm cluster to :
• test scale-up/down the votingapp_vote service
• drain any one node and see how swarm reschedules the services to other node(s) to maintain the desired state of stack
• create a new version of votingapp_vote_v2 and check out rolling upgrades.
Hope this help get a reasonable grip on these exciting new docker 1.12 features...
Playbook : swarm/dab test-run 3/4