This document discusses Docker and Chef for container management. It begins with an introduction to Docker, describing how it allows packaging applications and dependencies to run unchanged on any system. Some rough edges of Docker are discussed, such as linking containers and complex configuration needs. The document then introduces Chef as a tool for configuration management and automation that can address Docker's rough edges. It provides examples of using Chef recipes and templates to manage Docker images, run containers, inject configurations, and deploy containers across multiple hosts. The document argues that Chef enables treating infrastructure as code and provides a standardized workflow for managing Docker containers at scale.
Docker 101: an introduction to Docker. The presentation introduces the Docker fundamentals, including LXC Containers and other tools of the Docker ecosystem.
This the talk I gave at Docker Docker Docker Austin Cloud Users meetup in Austin on January 21st, 2014. The talk was about the use of Docker at Flux7 Labs (flux7.com). I chose to deep dive into one of the most interesting Internet of Things use cases: Implement multi-tenancy on Solar Panel Monitoring Solution using Docker.
Docker 101: an introduction to Docker. The presentation introduces the Docker fundamentals, including LXC Containers and other tools of the Docker ecosystem.
This the talk I gave at Docker Docker Docker Austin Cloud Users meetup in Austin on January 21st, 2014. The talk was about the use of Docker at Flux7 Labs (flux7.com). I chose to deep dive into one of the most interesting Internet of Things use cases: Implement multi-tenancy on Solar Panel Monitoring Solution using Docker.
Infrastructure Deployment with Docker & AnsibleRobert Reiz
This is an introduction to Docker & Ansible. It shows how Ansible can be used as orchestration too for Docker. There are 2 real world examples included with code examples in a Gist.
Começando agora com containers? Já viu o Docker? Docker é um excelente tecnologia de containers que nos ajuda a lidar com problemas de ambiente de dev a produção, isolando a aplicação e suas dependências para serem gerenciar e executadas em qualquer lugar.
...or how to start your adventure with Docker. Promises, goals and practical examples by one of our devs, Tomasz. Visit our blog for more! www.espeo.eu/blog
Linux Containers (LXC) @Open Source Camp Moldova 2018
LXC (Linux Containers) is an operating-system-level virtualization method for running multiple isolated Linux systems (containers) on a control host using a single Linux kernel. https://en.wikipedia.org/wiki/LXC
Title: Introduction to Docker
Abstract:
During the year since it’s inception, Docker have changed our perception of the OS-level Virtualization also called Containers.
At this workshop we will introduce the concept of Linux containers in general and Docker specifically. We will guide the participants through a practical exercise that will include use of various Docker commands and a setting up a functional Wordpress/MySQL system running in two containers and communication with each other using Serf
Topics:
Docker Installation (in case is missing)
Boot2Docker
Docker commands
- basic commands
- different types of containers
- Dockerfiles
Serf
Wordpress Exercise
- setting up Serf cluster
- deploying MySQL
- deploying Wordpress and connecting to MySQL
Prerequisites:
Working installation of Docker
On Mac - https://docs.docker.com/installation/mac/
On Windows - https://docs.docker.com/installation/windows/
Other Platforms - https://docs.docker.com/installation/#installation
Infrastructure Deployment with Docker & AnsibleRobert Reiz
This is an introduction to Docker & Ansible. It shows how Ansible can be used as orchestration too for Docker. There are 2 real world examples included with code examples in a Gist.
Começando agora com containers? Já viu o Docker? Docker é um excelente tecnologia de containers que nos ajuda a lidar com problemas de ambiente de dev a produção, isolando a aplicação e suas dependências para serem gerenciar e executadas em qualquer lugar.
...or how to start your adventure with Docker. Promises, goals and practical examples by one of our devs, Tomasz. Visit our blog for more! www.espeo.eu/blog
Linux Containers (LXC) @Open Source Camp Moldova 2018
LXC (Linux Containers) is an operating-system-level virtualization method for running multiple isolated Linux systems (containers) on a control host using a single Linux kernel. https://en.wikipedia.org/wiki/LXC
Title: Introduction to Docker
Abstract:
During the year since it’s inception, Docker have changed our perception of the OS-level Virtualization also called Containers.
At this workshop we will introduce the concept of Linux containers in general and Docker specifically. We will guide the participants through a practical exercise that will include use of various Docker commands and a setting up a functional Wordpress/MySQL system running in two containers and communication with each other using Serf
Topics:
Docker Installation (in case is missing)
Boot2Docker
Docker commands
- basic commands
- different types of containers
- Dockerfiles
Serf
Wordpress Exercise
- setting up Serf cluster
- deploying MySQL
- deploying Wordpress and connecting to MySQL
Prerequisites:
Working installation of Docker
On Mac - https://docs.docker.com/installation/mac/
On Windows - https://docs.docker.com/installation/windows/
Other Platforms - https://docs.docker.com/installation/#installation
Easy applications deployment on OpenStack cloudsGiovanni Toraldo
The software development processes are evolved from the past, and nowadays you need to be able to respond quickly to market changes, or you will not survive. On the infrastructure perspective, you need to gain agility on managing cloud resources and deployment of your applications. In this presentation will be introduced two open-source technology, jclouds and opscode chef, that combined together can helps developers to speed-up the deployment of their applications on the cloud, and it will presented how ClouDesire is trying to solve this problems offering a vertical service to solve this specific purposes.
Presentation held at the #1 italian OpenStack Day in Milano. #openstackday #openstackdayit
Try ThreeHops for free and send us your feedback! http://threehops.cloudesire.com
This presentation gives a brief understanding of docker architecture, explains what docker is not, followed by a description of basic commands and explains CD/CI as an application of docker.
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.
This presentation by Andrew Aslinger discusses best practices and pitfalls of integrating Docker into Continuous Delivery Pipelines. Learn how Andrew and his team used Docker to replace Chef to simplify their development and migration processes.
Настройка окружения для кросскомпиляции проектов на основе docker'acorehard_by
Как быстро и легко настраивать/обновлять окружения для кросскомпиляции проектов под различные платформы(на основе docker), как быстро переключаться между ними, как используя эти кирпичики организовать CI и тестирование(на основе GitLab и Docker).
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.
What is this Docker and Microservice thing that everyone is talking about? A primer to Docker and Microservice and how the two concepts complement each other.
Container technology is shaping the future of software development and is causing a structural change in the cloud-computing world. Developers are embracing container technology and enterprises are adopting it at an explosive rate. Containers are portion of "IT" in technology as they're a very powerful tool which streamline your development and ops processes, save company's money & make life for developers much easier.
Docker for Developers talk from the San Antonio Web Dev Meetup in Aug 2023
Never used Docker? This is perfect for you!
New to Docker? You'll learn something for sure!
Links included for all slides, code, and examples
Go from no Docker experience to a fully running web app in one slide deck!
Introduction to Docker at the Azure Meet-up in New YorkJérôme Petazzoni
This is the presentation given at the Azure New York Meet-Up group, September 3rd.
It includes a quick overview of the Open Source Docker Engine and its associated services delivered through the Docker Hub. It also covers the new features of Docker 1.0, and briefly explains how to get started with Docker on Azure.
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.
An overview on docker and container technology behind it. Lastly, we discuss few tools that might come handy when dealing with large number of containers management.
Similar to When Docker ends, Chef begins ~ #idi2015 Incontro DevOps Italia (20)
Adopting code review into the software development practice is a good way to drive high quality code, improve team communication and knowledge sharing. We'll look at the best strategies to adopt it and continue to use it in the most proficient way.
Presentation held during an #apericoder of the montacchiello.dev group.
Software Delivery in 2016 - A Continuous Delivery ApproachGiovanni Toraldo
The speech "Software Delivery in 2016" was held by Giovanni Toraldo (Lead Developer at ClouDesire) on July 1st 2016 in Pisa, Italy.
Event: Apericoder
Organizer: Coders TUG
An introduction to Docker native clustering: Swarm.
Deployment and configuration, integration with Consul, for a product-like cluster to serve web-application with multiple containers on multiple hosts. #dockerops
ClouDesire @ Italian DevOps Initiative 2013 #idi2013Giovanni Toraldo
Verso il primo cloud application store italiano, con OpenNebula, Puppet e REST: ClouDesire. Nonostante il proliferare di piattaforme e soluzioni cloud, queste tecnologie richiedono know-how e risorse per poter essere pienamente abbracciate, soprattutto in Italia, dove applicativi e architetture legacy regnano (ancora) sovrani. ClouDesire si pone come obiettivo di semplificare il processo per portare su cloud un'applicazione (web o legacy), e distribuirla in modalità XaaS, fornendo tutti i necessari tool di supporto.
EVA Florence 2012 ~ Open low-cost HA cluster cloudGiovanni Toraldo
In the last few years, one of the main problems of the cultural heritage institution is the progressive reduction of the investments. The hardware maintenance and licensing costs greatly affects IT budget. Virtualization addresses the need to streamline and consolidate infrastructure, even if the license costs remain high for commercial clouds. Open source solutions allow you to implement virtualization cloud which performance and functionality are suitable for the masses, without the constraints of hardware certifications and proibitive licenses costs.
Our infrastructure allowed us to build a ha virtualized environment using commodity hardware, regardless of specific products or manufacturers. Based on the interaction between a common linux kernel module and a software-based storage pool, is managed by an intuitive web interface. The system provides adequate performances provisioning services like web pages, OPAC, digital resources showcase, cataloging tools, library management, mail, etc.
Cristiano Corsani
Giovanni Toraldo
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Welocme to ViralQR, your best QR code generator.ViralQR
Welcome to ViralQR, your best QR code generator available on the market!
At ViralQR, we design static and dynamic QR codes. Our mission is to make business operations easier and customer engagement more powerful through the use of QR technology. Be it a small-scale business or a huge enterprise, our easy-to-use platform provides multiple choices that can be tailored according to your company's branding and marketing strategies.
Our Vision
We are here to make the process of creating QR codes easy and smooth, thus enhancing customer interaction and making business more fluid. We very strongly believe in the ability of QR codes to change the world for businesses in their interaction with customers and are set on making that technology accessible and usable far and wide.
Our Achievements
Ever since its inception, we have successfully served many clients by offering QR codes in their marketing, service delivery, and collection of feedback across various industries. Our platform has been recognized for its ease of use and amazing features, which helped a business to make QR codes.
Our Services
At ViralQR, here is a comprehensive suite of services that caters to your very needs:
Static QR Codes: Create free static QR codes. These QR codes are able to store significant information such as URLs, vCards, plain text, emails and SMS, Wi-Fi credentials, and Bitcoin addresses.
Dynamic QR codes: These also have all the advanced features but are subscription-based. They can directly link to PDF files, images, micro-landing pages, social accounts, review forms, business pages, and applications. In addition, they can be branded with CTAs, frames, patterns, colors, and logos to enhance your branding.
Pricing and Packages
Additionally, there is a 14-day free offer to ViralQR, which is an exceptional opportunity for new users to take a feel of this platform. One can easily subscribe from there and experience the full dynamic of using QR codes. The subscription plans are not only meant for business; they are priced very flexibly so that literally every business could afford to benefit from our service.
Why choose us?
ViralQR will provide services for marketing, advertising, catering, retail, and the like. The QR codes can be posted on fliers, packaging, merchandise, and banners, as well as to substitute for cash and cards in a restaurant or coffee shop. With QR codes integrated into your business, improve customer engagement and streamline operations.
Comprehensive Analytics
Subscribers of ViralQR receive detailed analytics and tracking tools in light of having a view of the core values of QR code performance. Our analytics dashboard shows aggregate views and unique views, as well as detailed information about each impression, including time, device, browser, and estimated location by city and country.
So, thank you for choosing ViralQR; we have an offer of nothing but the best in terms of QR code services to meet business diversity!
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Le nuove frontiere dell'AI nell'RPA con UiPath Autopilot™UiPathCommunity
In questo evento online gratuito, organizzato dalla Community Italiana di UiPath, potrai esplorare le nuove funzionalità di Autopilot, il tool che integra l'Intelligenza Artificiale nei processi di sviluppo e utilizzo delle Automazioni.
📕 Vedremo insieme alcuni esempi dell'utilizzo di Autopilot in diversi tool della Suite UiPath:
Autopilot per Studio Web
Autopilot per Studio
Autopilot per Apps
Clipboard AI
GenAI applicata alla Document Understanding
👨🏫👨💻 Speakers:
Stefano Negro, UiPath MVPx3, RPA Tech Lead @ BSP Consultant
Flavio Martinelli, UiPath MVP 2023, Technical Account Manager @UiPath
Andrei Tasca, RPA Solutions Team Lead @NTT Data
2. Hello!
I AM GIOVANNI TORALDO
Open Source enthusiast with SuperCow Powers
PHP/Java/whatever developer
writer of the OpenNebula book
Lead Developer @ ClouDesire
3. WHAT IS CLOUDESIRE?
Application Marketplace
◦ Helps S/M software vendors
◦ For simple applications it can
▫ provision VM
▫ on multiple cloud providers
▫ monitor resources
◦ For complex applications
▫ expose REST API
◦ For everyone
▫ manage subscriptions, billing, pay-
per-use, invoicing, payments
9. DOCKER: GLOSSARY
◦ Image: immutable snapshot of a
container, push/pull repository
◦ Container: an instance launched
from an image
◦ Volume: persistent writable area
of a container
◦ Registry: repository of images
(versioned via tags)
◦ Dockerfile: the descriptor from
which an image is built
10. DOCKER: HOW DO I RUN IT?
◦ GNU/Linux
wget -qO- https://get.docker.com/ | sh
◦ Windows
https://github.com/boot2docker/windows-installer/releases/latest
◦ OSX
https://kitematic.com/download/
◦ Hello world
$ docker run -ti ubuntu:14.04 /bin/bash
11. DOCKER: WHAT HAPPENS UNDER THE HOOD?
◦ Pulls the ubuntu image from registry
◦ Creates a new container
▫ Allocates a rw filesystem
▫ Allocates a network interface (on a bridge)
▫ Sets up network (IP address, dns..)
◦ Launch a process in the container
◦ Captures and provides application
output
Container terminates when the process
exit
13. DOCKER: STANDARD WORKFLOW
Build & push:
◦ docker build -t gionn/nodejs-app:1.0.0 .
▫ a tagged image is generated
◦ docker push gionn/nodejs-app:1.0.0
▫ publish to repository
Pull & run:
◦ docker pull gionn/nodejs-app:1.0.0
▫ fetch from repository
◦ docker run gionn/nodejs-app:1.0.0
▫ run container from this image
Example gist: link
14. DOCKER: ROUGH EDGE #1
Service in container A needs to
talk to service in container B
Docker solution:
◦ Use Container Links
Reality:
◦ Works only on the same host
◦ Ordered sequence to boot-up
◦ Can’t solve cyclic dependencies
15. DOCKER: ROUGH EDGE #2
My containerized application needs
environment-dependant
configurations
Docker solution:
◦ Inject environment variables
Reality:
◦ I need to fill YAML, XML, JSON
complex structures
16. DOCKER: ROUGH EDGE #3
I need to manage and upgrade a
non-trivial number of containers on
multiple hosts
Docker solution:
◦ Docker Swarm
Reality:
◦ currently in beta, not recommend
for production
17. DOCKER: RECAP
So far so good?
Docker is a piece of cake for
wrapping together the
technologies of Linux containers,
multi-layered filesystems and an
image build system, in an unique
tool easy and fast to use.
18. DOCKER: RECAP
But what about the environment?
Being a (relatively) young project,
the ecosystem of tools is pretty
scattered and inconsistent.
20. WHO YOU GONNA CALL?
Probably someone has solved this
kind of issues far time ago, even
before Docker existed?
Those kind of problems are all
about configuration management
and automation.
So use the tools already available.
21.
22. CHEF
Chef enables you to:
◦ Version your infrastructure on
SCM, build an artifact
◦ Apply testing, CI, CD to
infrastructure
◦ Keep it aligned with your
software
◦ Automation via repeatable
actions (e.g. click to deploy)
23. CHEF: THE TOOLS
Everything you need in a single
package:
https://downloads.chef.io/chef-dk/
For (automated) testing
https://www.vagrantup.com
https://www.virtualbox.org
24. CHEF: EVERYTHING IS IN A REPOSITORY
The chef-repo is a standard repo
layout and contains:
◦ Cookbooks
◦ Environments
◦ Data bags
◦ Roles
25. CHEF: WHAT IS A COOKBOOK
Each cookbook is coupled with a
service (e.g. mysql).
Contains:
◦ Attributes: they are like global
variables (e.g. version to install)
◦ Recipes: an atomic unit of
configuration
◦ Templates: patterns to generate
real files, filled with data
◦ Files: static configuration
26. CHEF RECIPES
Each recipe contains behaviour
expressed by resources (and Ruby
code)
user_name = ‘gionn’
user user_name do
supports :manage_home => true
uid 1000
gid 'users'
home “/home/#{user_name}”
shell '/bin/bash'
password '$1$JJsvHslV$szsCjVEroftprNn4JHtDi'
end
27. CHEF COMPONENTS
The remaining components:
◦ Environments: contains common
attributes for a group of nodes
◦ Roles: contains attributes for
nodes sharing a particular
behaviour
◦ Data bags: general-purpose
JSON data, optionally
encrypted, usually to store
credentials
28. COOKBOOKS FOR EVERY NEEDS
All cookbooks are usually hosted
on GitHub
◦ Maintained by Opscode
https://github.com/opscode-cookbooks
◦ by vendors
https://github.com/elastic/cookbook-elasticsearch
◦ by the community
https://supermarket.chef.io
Community Stats (07/04/2015)
2,120 Cookbooks ~ 62,086 Chefs
30. DOCKER COOKBOOK
https://github.com/bflad/chef-docker
◦ Install docker daemon on
supported platforms
▫ Ubuntu/Debian
▫ RHEL/CentOS/Fedora
▫ Amazon Linux
◦ Expose attributes for fine-tuning
(e.g. TLS certificates, DNS)
◦ Manage images & containers
lifecycle via ad-hoc resources
31.
32. PROBLEM #0: IMAGE DISTRIBUTION / RUN CONTAINER
docker_image 'registry:0.9.0' do
action :pull
notifies :redeploy, 'docker_container[registry]', :immediately
end
docker_container 'registry' do
container_name 'registry'
image 'registry:0.9.0'
detach true
port '5000:5000'
volume '/srv/registry:/tmp/registry'
env 'SETTINGS_FLAVOR=local'
env 'SEARCH_BACKEND=sqlalchemy'
action :run
end
33. PROBLEM #0: IMAGE DISTRIBUTION / RUN CONTAINER
Check that docker has such tagged
image and if not:
◦ Download that version
◦ Stop existing container (if any)
◦ Run new container
◦ Raise error if anything goes wrong
34. PROBLEM #1: MY APPLICATION NEEDS CONFIGURATION
Populate configuration files with
proper values (and automatically
restart on changes)
template node['tomcat']['host'] + '/cmw.xml' do
source 'tomcat/tomcat-context.xml.erb'
variables(
:resource_name => 'jdbc/datasource',
:username => node['cloudesire']['name'],
:password => node['cloudesire']['pass']
:url => node['cloudesire']['url'],
)
notifies :redeploy, 'docker_container[cmw]'
end
36. PROBLEM #1: MY APPLICATION NEEDS CONFIGURATION
Templates consist of:
◦ an .ERB template
◦ a template resource declared in
a recipe
The template is evaluated using
the variables passed directly or via
the global node object.
37. PROBLEM #1: MY APPLICATION NEEDS CONFIGURATION
Inject a single file or entire folders
dst = node['tomcat']['base'] + '/conf/Catalina/' +
'localhost/cmw.xml'
docker_container 'cmw' do
image image_name
container_name 'cmw'
detach true
env LOG debug
volume [
"#{node['tomcat']['host']}/cmw.xml:#{dst}",
"/etc/cloudesire:/etc/cloudesire"
]
end
38. PROBLEM #1: MY APPLICATION NEEDS CONFIGURATION
Docker permits defining volumes
to be used for persistent data (e.g.
database files), but may be used
to inject configurations into the
container at runtime.
Definitevely avoid the needs of
image rebuilding to adjust a
setting.
39. PROBLEM #2: CONTAINERS RUNNING ON MULTIPLE HOSTS
Each node has its own run_list,
defining which recipes should be
executed (in JSON):
{
“run_list”: [
"cd-infrastructure::docker-cmw",
"cd-infrastructure::docker-deployer",
"cd-infrastructure::docker-monitor",
"cd-infrastructure::docker-logger"
],
“cloudesire”: {
“key”: “value”
}
}
40. PROBLEM #2: CONTAINERS RUNNING ON MULTIPLE HOSTS
Same recipe on different nodes
(attributes may change)
node1.json
{
“run_list”: [
"cd-infrastructure::docker-cmw",
"cd-infrastructure::docker-logger"
]
}
node2.json
{
“run_list”: [
"cd-infrastructure::docker-deployer",
"cd-infrastructure::docker-monitor",
"cd-infrastructure::docker-logger"
]
}
41. MAY NOT BE GOLD BUT IT’S A START FOR SURE!
It’s easy to getting started with
Chef by using kitchen-ci or plain
Vagrant:
◦ Initialize a chef repo
◦ Create a new cookbook
◦ Start hacking
◦ Play on kitchen-ci or vagrant
◦ Repeat last 2
43. READY TO USE CHEF REPOSITORY
A starting repository for aspiring
whale cookers:
https://github.com/gionn/cooking-
docker
44. DOCKER APPENDIX: GOLDEN RULES
◦ Only one process per Image
◦ No embedded configuration
◦ No, you don’t need SSH
◦ No, you don’t need syslog
◦ No, you won’t touch a running
container to adjust a thing
◦ No, you will not use a
community-contributed image
without looking at what it do