The document discusses Jirayut Nimsaeng's presentation on using Docker for continuous delivery of Joomla projects. Some key points:
- Jirayut is interested in cloud, open source, and has worked with Docker since version 0.6
- Docker allows for reliable, consistent, and efficient deployment across environments like development, testing, and production
- The presentation covers using Dockerfiles to build images, Docker workflows, and examples of using Docker for development environments and continuous delivery pipelines.
Design patterns provide common templates for solving similar problems. They also provide a higher-level language for software developers to use to describe approaches they might choose when designing part of an application. This session introduces and applies several patterns useful to web application developers. Examples will primarily use C#/.NET.
Docker Overview - Rise of the ContainersRyan Hodgin
Containers allow for applications to become more portable, organized more efficiently, and configured to make better use of system resources. This presentation will explain Docker's container technology, DevOps approach, partner ecosystem, popularity, performance, challenges, and roadmap. We'll review how containers are changing application and operating system designs.
Github Actions enables you to create custom software development lifecycle workflows directly in your Github repository. These workflows are made out of different tasks so-called actions that can be run automatically on certain events.
This presentation covers the working model about Process, Thread, system call, Memory operations, Binder IPC, and interactions with Android frameworks.
Presented at All Thing Open RTP Meetup
Presented by Brent Laster
Abstract: In this three-hour hands-on workshop, open-source author, trainer and DevOps director Brent Laster will provide a solid introduction to GitHub Actions. You’ll learn about the core parts and pieces that make up Actions and their associated workflows, as well as the types of functionality and features they provide. You’ll also see how to combine them in simple workflows to accomplish basic tasks as well as how they can fit into a CI environment. Further, you’ll see how to create your own GitHub Actions and debug Actions when there are issues.
Design patterns provide common templates for solving similar problems. They also provide a higher-level language for software developers to use to describe approaches they might choose when designing part of an application. This session introduces and applies several patterns useful to web application developers. Examples will primarily use C#/.NET.
Docker Overview - Rise of the ContainersRyan Hodgin
Containers allow for applications to become more portable, organized more efficiently, and configured to make better use of system resources. This presentation will explain Docker's container technology, DevOps approach, partner ecosystem, popularity, performance, challenges, and roadmap. We'll review how containers are changing application and operating system designs.
Github Actions enables you to create custom software development lifecycle workflows directly in your Github repository. These workflows are made out of different tasks so-called actions that can be run automatically on certain events.
This presentation covers the working model about Process, Thread, system call, Memory operations, Binder IPC, and interactions with Android frameworks.
Presented at All Thing Open RTP Meetup
Presented by Brent Laster
Abstract: In this three-hour hands-on workshop, open-source author, trainer and DevOps director Brent Laster will provide a solid introduction to GitHub Actions. You’ll learn about the core parts and pieces that make up Actions and their associated workflows, as well as the types of functionality and features they provide. You’ll also see how to combine them in simple workflows to accomplish basic tasks as well as how they can fit into a CI environment. Further, you’ll see how to create your own GitHub Actions and debug Actions when there are issues.
Podman was created to be an alternative to Docker. It bears many similarities to the popular containerization tool, but it also differs in some important aspects.
Podman is daemonless, unlike Docker, which uses a client-server paradigm. While Docker needs a daemon process to maintain the connection between the client and the server, Podman is a single main process with containers as child processes.
Due to its architecture, Docker requires root privileges. Podman is rootless by design.
Docker is a monolithic platform that strives to be an all-in-one solution for container management. Podman, on the other side, focuses on running containers. It utilizes specialized tools for other functionalities - for example, it uses Buildah for building images, and skopeo for image management and distribution.
Github is a continuous Integration and Continous delivery platform that provides an excellent option for automating workflows to run specific tasks when some event like code push or a release is triggered on the repository. In this Session we will be exploring Github Actions and learning how to use them in our projects.
Spend some time working with OpenAPI and gRPC and you’ll notice that these two technologies have a lot in common. Both are open source efforts, both describe APIs, and both promise better experiences for API producers and consumers. So why do we need both? If we do, what value does each provide? What can each project learn from the other? We’ll bring the two together for a side-by-side comparison and pose answers to these and other questions about two API methodologies that will do much to influence the future of networked APIs.
Kubernetes is more or less one of the biggest players when it comes to Container orchestration. Since Kubernetes 1.7 RBAC (Role Based Access Control) is the default for the authorisation of actions in you cluster. There are many other components, like Pod Security Policies, Network Policies, Admisstion Controllers, that allows you to secure your Kubernetes cluster.
In this talk I will show you how these things can work together and which problem these components try to solve. Also I will show you an overview how other tools like Vault can fit into the Kubernetes ecosystem to make you platform more secure.
Event: DevFest Karlsruhe, 09.12.2017
Speaker: Johannes M. Scheuermann
Weitere Tech-Vorträge: https://www.inovex.de/de/content-pool/vortraege/
Weitere Tech-Artikel: https://www.inovex.de/blog/
In this presentation we will show how to integrate New Relic monitoring with Terraform infrastructure as code templates, setting up alerts, dashboards, and other monitoring artifacts as part of your application deployment pipeline. We will demonstrate an open source example and show how it behaves under a load as it fails.
Palestra gratuita realizada no dia 16 de abril de 2014, no Instituto Infnet, Rio de Janeiro. Dei uma introdução bem básica sobre git, comandos básicos e mostrei um workflow simples de como se trabalhar com git. Além disso, deixei links de aplicativos e material de estudos para quem quiser aprender mais sobre.
--
Free talk that happened on April 16, 2014, in Infnet Institute, Rio de Janeiro. Gave a very basic introduction to git, basic commands and showed a simple workflow of how to work with git. Furthermore, I showed some application links and study material for anyone wanting to learn more about.
Apresentação Docker básico (história, comunidade, conceito, vm vs docker, comandos, dockerfile, docker compose, docker swarn, docker engine)
Para ver o slide em qualidade melhor, fazer o download
Containerd Internals: Building a Core Container RuntimePhil Estes
A talk given at OpenSource Summit, North America in Los Angeles, CA on September 11th, 2017. Stephen Day (Docker) and Phil Estes (IBM) presented the history, design, architecture, and use cases for the containerd 1.0 core container runtime open source CNCF project.
Pequena Apresentação do Modelo de Fluxo de Utilização adotado.
Overview de baixa complexidade para indicar todos os estagios e forma de versionar adotada.
Docker Continuous Delivery Workshop slide in Docker Training & Workshop for DevOps and Continuous Delivery at OSS Festival 2014 Thailand on October 11, 2014
Podman was created to be an alternative to Docker. It bears many similarities to the popular containerization tool, but it also differs in some important aspects.
Podman is daemonless, unlike Docker, which uses a client-server paradigm. While Docker needs a daemon process to maintain the connection between the client and the server, Podman is a single main process with containers as child processes.
Due to its architecture, Docker requires root privileges. Podman is rootless by design.
Docker is a monolithic platform that strives to be an all-in-one solution for container management. Podman, on the other side, focuses on running containers. It utilizes specialized tools for other functionalities - for example, it uses Buildah for building images, and skopeo for image management and distribution.
Github is a continuous Integration and Continous delivery platform that provides an excellent option for automating workflows to run specific tasks when some event like code push or a release is triggered on the repository. In this Session we will be exploring Github Actions and learning how to use them in our projects.
Spend some time working with OpenAPI and gRPC and you’ll notice that these two technologies have a lot in common. Both are open source efforts, both describe APIs, and both promise better experiences for API producers and consumers. So why do we need both? If we do, what value does each provide? What can each project learn from the other? We’ll bring the two together for a side-by-side comparison and pose answers to these and other questions about two API methodologies that will do much to influence the future of networked APIs.
Kubernetes is more or less one of the biggest players when it comes to Container orchestration. Since Kubernetes 1.7 RBAC (Role Based Access Control) is the default for the authorisation of actions in you cluster. There are many other components, like Pod Security Policies, Network Policies, Admisstion Controllers, that allows you to secure your Kubernetes cluster.
In this talk I will show you how these things can work together and which problem these components try to solve. Also I will show you an overview how other tools like Vault can fit into the Kubernetes ecosystem to make you platform more secure.
Event: DevFest Karlsruhe, 09.12.2017
Speaker: Johannes M. Scheuermann
Weitere Tech-Vorträge: https://www.inovex.de/de/content-pool/vortraege/
Weitere Tech-Artikel: https://www.inovex.de/blog/
In this presentation we will show how to integrate New Relic monitoring with Terraform infrastructure as code templates, setting up alerts, dashboards, and other monitoring artifacts as part of your application deployment pipeline. We will demonstrate an open source example and show how it behaves under a load as it fails.
Palestra gratuita realizada no dia 16 de abril de 2014, no Instituto Infnet, Rio de Janeiro. Dei uma introdução bem básica sobre git, comandos básicos e mostrei um workflow simples de como se trabalhar com git. Além disso, deixei links de aplicativos e material de estudos para quem quiser aprender mais sobre.
--
Free talk that happened on April 16, 2014, in Infnet Institute, Rio de Janeiro. Gave a very basic introduction to git, basic commands and showed a simple workflow of how to work with git. Furthermore, I showed some application links and study material for anyone wanting to learn more about.
Apresentação Docker básico (história, comunidade, conceito, vm vs docker, comandos, dockerfile, docker compose, docker swarn, docker engine)
Para ver o slide em qualidade melhor, fazer o download
Containerd Internals: Building a Core Container RuntimePhil Estes
A talk given at OpenSource Summit, North America in Los Angeles, CA on September 11th, 2017. Stephen Day (Docker) and Phil Estes (IBM) presented the history, design, architecture, and use cases for the containerd 1.0 core container runtime open source CNCF project.
Pequena Apresentação do Modelo de Fluxo de Utilização adotado.
Overview de baixa complexidade para indicar todos os estagios e forma de versionar adotada.
Docker Continuous Delivery Workshop slide in Docker Training & Workshop for DevOps and Continuous Delivery at OSS Festival 2014 Thailand on October 11, 2014
Beyond OpenStack keynote presentation in 2nd Cloud OpenStack-Container Conference and Workshop 2016 at
Grand Postal Building, Bangrak, Bangkok on September 22-23, 2016.
OpenStack Journey to implement private cloud at Kaidee in 2nd Cloud OpenStack-Container Conference and Workshop 2016 at Grand Postal Building, Bangrak, Bangkok on September 22-23, 2016.
Build, Publish, Deploy and Test Docker images and containers with Jenkins Wor...Docker, Inc.
This lightning talk will show you how simple it is to apply CI to the creation of Docker images, ensuring that each time the source is changed, a new image is created, tagged, and published. I will then show how easy it is to then deploy containers from this image and run tests to verify the behaviour.
In this session the current automated testing infrastructure of the Joomla CMS is explained:
theory of system- & unit-tests
Joomla's unit testing setup
setting up your machine
how to execute the test suite
how to write a test
Joomla's system testing setup
setting up your machine
how to execute the test suite
how Joomla automates the automated tests
Orchestrate Continuous Delivery with Jenkins and DockerNicolas De Loof
le "Continuous Delivery" est un sacré buzz word, et "Docker" encore plus, mais les blog que j'ai pu lire sur sujet ne proposent qu'un pipelines naif et minimaliste : compile, test, push docker image, et voilà.
En 2015 Jenkins adresse clairement plus que de l'Integration Continue, et avec le support récent du workflow plugin nous pouvons orchestrer avec un DSL des pipelines de grande complexité. L'integration avec Docker lui donne encore plus de puissance.
Pendant cette session, je vais construire un pipeline de CD from scratch pour montrer l'utilisation du workflow et sa flexibilité, ainsi que le support de Docker.
Материалы со встречи:
https://getdev.net/Event/docker
Docker: зачем нужен и почему выстрелил? Контейнеры против виртуальных машин - кто лучше? Docker на Windows: как и когда? А также демо: создание и deploy контейнера на ваших глазах
JDD2014: Docker.io - versioned linux containers for JVM devops - Dominik DornPROIDEA
This presentation will introduce you to Docker - the new shiny star on the Devops horizon. It will teach you everything you need to know to get started with Docker, why you'd want to use it and which tools to use to get the most out of it. Additionally to showing the basics, it will introduce helpful libraries available for the JVM and how they can be used together with Docker to create secure, scalable and maintainable cloud setups for your applications.
>>WATCH THE WEBINAR HERE: https://codefresh.io/docker-based-pipelines-with-codefresh/
Most people think that Docker adoption means deploying Docker images. In this webinar, we will see the alternative way of adopting Docker in a Continuous Integration Pipeline, by packaging all build tools inside Docker containers. This makes it very easy to use different tool versions on the same build and puts an end to version conflicts in build machines. We will use Codefresh as a CI/CD solution as it fully supports pipelines where each build step is running on its own container image.
Sign up for FREE Codefresh account (120 builds/month) at Codefresh.io/codefresh-signup
Docker "Global Mentor Week" is your opportunity to #learndocker. to learn how to build, ship, and run modern distributed applications with ease. thanks to the Docker platform.
Right now, Docker has developed out a series of self-paced online labs that will be available during the meetup. Docker’s meetup groups worldwide are hosting a series of complimentary events to help newcomers and intermediate users learn Docker.
We'll have hands-on labs for both beginners and intermediate users, labs targeting both developers and operations. There is something for everyone. Docker mentor will be on hand at this event to help you prepare. and work through the self-paced materials. Bring your laptop, have fun and learn Docker!
Most people think "adopting containers" means deploying Docker images to production. In practice, adopting containers in the continuous integration process provides visible benefits even if the production environment are VMs.
In this webinar, we will explore this pattern by packaging all build tools inside Docker containers.
Container-based pipelines allow us to create and reuse building blocks to make pipeline creation and management MUCH easier. It's like building with Legos instead of clay.
This not only makes pipeline creation and maintenance much easier, it also solves a myriad of classic CI/CD problems such as:
Putting an end to version conflicts in build machines
Eliminating build machine management in general
Step portability and maintenance
In a very real sense, Docker-based pipelines reflect lessons learned from microservices in CI/CD pipelines. We will share tips and tricks for running these kinds of pipelines while using Codefresh as a CI/CD solution as it fully supports pipelines where each build step is running on its own Docker image.
PuppetConf 2017: What’s in the Box?!- Leveraging Puppet Enterprise & Docker- ...Puppet
“Docker, Docker, Docker.” It’s a phrase we hear often, but what are containers, what can they be used for, and why should you know more about them? In this session, Grace (Puppet) and Tricia (AppDynamics) will introduce attendees to Docker and help them build and deploy their first container with Puppet. They will leverage the docker_image_build module from the Puppet Forge and take attendees through the proper workflow for coupling Docker and Puppet together. The session will focus on how to use some of the newest Docker features, such as multi-stage build files and password stores within Docker so you can pass "secrets" to a swarm for login credentials. The goal is to provide newcomers with a working proficiency of how to get started deploying containers using Puppet as their automation tool.
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.
Meet up presentation on Continuous Integration with Docker on Amazon Web Services (AWS). The presentation covers benefits of Docker on AWS along with advanced Docker patterns and lessons learned.
Build cloud like Rackspace with OpenStack AnsibleJirayut Nimsaeng
Build cloud like Rackspace with OpenStack Ansible Workshop in 2nd Cloud OpenStack-Container Conference and Workshop 2016 at Grand Postal Building, Bangrak, Bangkok on September 22-23, 2016
Docker in Production from Docker meetup Thailand 2016 #1 @ Kaidee on January 14, 2016
This slide will tell you about pitfall when you want to use Docker in Production.
DevOps Drivent Development is my experiment to find the way to improve technical practice and process in your company to get better product delivery by make DevOps focus on doing DevOps then improve and scale it
This paper purpose for give knowledge about Cloud Computing. By studied in definition, evolution, feature, advantage and disadvantage and type of service of Cloud Computing. These topics will be the basis data before talk to topic of research in Cloud Computing.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
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.
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Joomla Continuous Delivery with Docker
1. Joomla Continuous Delivery
with Docker
Jirayut Nimsaeng (Dear)
Joomla Day Bangkok, Thailand 2014
December 14, 2014 @ C.P. Tower
Release Build
Deploy Test
2. Jirayut Nimsaeng
Joomla Continuous Delivery with Docker
December 14, 2014 @ C.P. Tower
#whoami
● Jirayut Nimsaeng (Dear)
● Infrastructure Team Lead
at Proteus Technologies
● ScrumMaster
● Interested in Cloud and
Open Source Technology
● Working with Docker since
version 0.6
3. Jirayut Nimsaeng
Joomla Continuous Delivery with Docker
December 14, 2014 @ C.P. Tower
Experienced?
● Develop and test on AppServ or XAMPP
● Deploy with FileZilla
● Git
● Vagrant
● Docker
● Testing
● Automated test
● Automated deploy
4. Jirayut Nimsaeng
Joomla Continuous Delivery with Docker
December 14, 2014 @ C.P. Tower
Why
Continuous Delivery?
7. Jirayut Nimsaeng
Joomla Continuous Delivery with Docker
December 14, 2014 @ C.P. Tower
Release Frequently
Split your product
Optimize business value
$$$
$
Split time
January April
8. Jirayut Nimsaeng
Joomla Continuous Delivery with Docker
December 14, 2014 @ C.P. Tower
Why
Docker?
9. Jirayut Nimsaeng
Joomla Continuous Delivery with Docker
December 14, 2014 @ C.P. Tower
Developer Problems
Developer Local Test QA
Production
10. What Developer needs
Production-like Quick Repeatable
Jirayut Nimsaeng
Joomla Continuous Delivery with Docker
December 14, 2014 @ C.P. Tower
11. Jirayut Nimsaeng
Joomla Continuous Delivery with Docker
December 14, 2014 @ C.P. Tower
Docker can
● Deploy reliably & consistently
● Everything will be exactly the same
– Distros
– Software versions
– Library dependencies
● If it works locally, it will work everywhere
12. Jirayut Nimsaeng
Joomla Continuous Delivery with Docker
December 14, 2014 @ C.P. Tower
Docker can
● Deploy efficiently
– Laptop can run 10-100 containers easily
– Server can run 10-1000 containers
● Containers can run at native speeds
– http://www.slideshare.net/BodenRussell/kvm-and-docker-
lxc-benchmarking-with-openstack
14. Docker Memory benchmark
Jirayut Nimsaeng
Joomla Continuous Delivery with Docker
December 14, 2014 @ C.P. Tower
7.00E+09
6.00E+09
5.00E+09
4.00E+09
3.00E+09
2.00E+09
1.00E+09
0.00E+00
Docker / KVM: Compute Node Used Memory (Overlay)
kvm
docker
Axis Title
Memory Used
15. Docker Memory benchmark
Jirayut Nimsaeng
Joomla Continuous Delivery with Docker
December 14, 2014 @ C.P. Tower
MEMCPY DUMB MCBLOCK
14000
12000
10000
8000
6000
4000
2000
0
3823.3
4393.3
12881.61
3813.38
4395.92
12905.68
3428.95 3461.59
7223.23
Memory Benchmark Performance
Bare Metal (MiB/s)
docker (MiB/s)
KVM (MiB/s)
Memory Test
MiB/s
16. Docker I/O benchmark
Sysbench Synchronous File I/O Random Read/Write @ R/W Ratio of 1.50
1 2 4 8 16 32 64
Jirayut Nimsaeng
Joomla Continuous Delivery with Docker
December 14, 2014 @ C.P. Tower
1600
1400
1200
1000
800
600
400
200
0
docker
KVM
Threads
Total Transferred In Kb/sec
17. Jirayut Nimsaeng
Joomla Continuous Delivery with Docker
December 14, 2014 @ C.P. Tower
What is Docker?
● Platform to help code, test and deploy
applications
● Combine with
– Lightweight container virtualization
– Work flows
– Tooling
18. App
B1
Jirayut Nimsaeng
Containers are isolated,
but share OS and, where
appropriate, bins/libraries
Bins/Libs Bins/Libs
Host OS
Joomla Continuous Delivery with Docker
December 14, 2014 @ C.P. Tower
Containers vs. VMs
App
A2
Hypervisor
Host OS
Server
App
A1
Guest
OS
Guest
OS
Guest
OS
Bins/
Libs
Bins/
Libs
Bins/
Libs
VM
Server
App A1
App A2
App B1
App B2
App B3
Docker daemon
Container
19. Jirayut Nimsaeng
Joomla Continuous Delivery with Docker
December 14, 2014 @ C.P. Tower
Dockerfile
● Dockerfile is instructions to build Docker image
– How to run commands
– Add files or directories
– Create environment variables
– What process to run when launching container
20. Jirayut Nimsaeng
Joomla Continuous Delivery with Docker
December 14, 2014 @ C.P. Tower
Sample Dockerfile
FROM ubuntu:14.04
MAINTAINER Jirayut Nimsaeng <w [at] winginfotech.net>
ADD build-files /build-files
RUN apt-get update
RUN apt-get install -y openssh-server vim tmux rsync byobu
RUN mkdir /var/run/sshd
RUN sed -i 's/required pam_loginuid.so/optional
pam_loginuid.so/g' /etc/pam.d/sshd
CMD /start.sh
EXPOSE 22
21. Commit Change
Jirayut Nimsaeng
App A2 Container
App A App A Image
Joomla Continuous Delivery with Docker
December 14, 2014 @ C.P. Tower
Docker life cycle
App A
Docker Container
Docker
Registry
Commit Push
Host
App A1 Container
Pull
Docker Engine
Ubuntu
Base Docker
Apache
Docker Container
Apache
Bins/Libs
Apache + PHP
Docker Image
Bins/Libs
Apache
App A
ΔΔ
Change
App A
Apache
Bins/Libs
App A
Docker image
22. App A Image App A
Docker Engine
Jirayut Nimsaeng
Image App A
Joomla Continuous Delivery with Docker
December 14, 2014 @ C.P. Tower
Docker workflows
Dockerfile
For App A
Host 1 (Dev/Build Server)
Docker
Registry
Host 2 (Container Server)
1.Build
2.Push
3.Pull
4.Run
Docker Engine
Container App A Production
23. 2022 2035
2035
Jirayut Nimsaeng
80
Joomla Continuous Delivery with Docker
December 14, 2014 @ C.P. Tower
Docker Use Cases
● Docker as Development Environment
Host
Virtualbox VM
22
SSH Docker Daemon
Web Server
boot2docker-vm
80 1024+
Docker Containers
Database
Host-only
80
24. Jirayut Nimsaeng
Joomla Continuous Delivery with Docker
December 14, 2014 @ C.P. Tower
Docker Use Cases
● Docker for Continuous Delivery
25. Continuous Delivery with Docker
Jirayut Nimsaeng
Docker
Registry
Docker Engine
Joomla Continuous Delivery with Docker
December 14, 2014 @ C.P. Tower
DB
Backup
Server Gitlab
Server
Gitlab CI
Server
Docker Engine
Gitlab CI Runner
Test/Prod Server
MySQL
Dockerfile
Joomla
Dockerfile
Image MySQL Image
Joomla Image Joomla Image
Joomla Container
MySQL Container
1. Push Code
2. Trigger
3. Trigger
4. Get
5. Build
5.1. Get
6. Push Joomla Docker Image
7. Build
7.1. Import
8. Push MySQL Docker Image
9. Trigger
10. Pull
Docker Image
12. Acceptance Test
3.5. Unit Test
11. Deploy