SlideShare ist ein Scribd-Unternehmen logo
1 von 53
Downloaden Sie, um offline zu lesen
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
Baking Docker using
Chef
WhiteHedge Technologies
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
WhiteHedge
2
TABLE OF CONTENTS - AGENDA
Welcome
About WhiteHedge
and Me
1
Docker
A quick introduction
2
Chef + Docker
Getting best of both worlds
3
Push Jobs
5
Chef Cookbook
6
Chef Containers
7
Our Story
8
CD Pipeline
Use of knife + ssh
4
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
WhiteHedge
3
- HELLO
Shorten the path between Innovation and Value
WhiteHedge is an agile Product Development
company with deep experience in the Cloud
Automation, DevOps and Big Data Analytics.
Experience of building 50+ successful products across
the globe in various industries and the knowledge of
latest trends and technologies, make us stand out as
the best and the coolest software product
development company.
INTRODUCTION
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
WhiteHedge
4
WHITEHEDGE - AN OVERVIEW
Global Presence
Agile + Flexible
Thorough + Quick Learner
Competitive + Comprehensive
Honest + Transparent
Young + Mature
Innovative + Creative
More about us …
What defines us ?
California
New Jersey Rotterdam
Pune
EnvisionProducts|
Convertintobusinesses
100+employees|50+live
productsworld-wide
ThebestoftheTalentand
Infrastructure
Started2003|FocusedAgile
ProductDevelopment
Selffunded|Wellfunded|
Profitable
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
Docker
A Quick Introduction
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
What is Docker?
Linux Container
3 Components:
Docker Engine
Docker Hub
Docker Images
Benefits:
Speed
Portability
Density
Open Source
sufficient containers from any
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
Docker is not a VM
Virtual Machine Docker
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
FROM ubuntu:14.04
RUN apt-get update
RUN apt-get install
libfuse-dev
ADD dev.conf/etc/myapp-
config/
Dockerfiles
oCodify your configuration
oSet of bash commands
oExample:
• HelloScala
 Dockerfile
 dev.conf
• Docker build HelloScala
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
Use Cases of Docker
o Shared Hosting PaaS
o Microservices
o Lightweight Testing
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
Chef and Docker
Getting the best of both worlds!
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
THE CHALLENGE
Automate
Make Whole
Enchilada Deliver!
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
Config Management Vs Golden Images
o Control the environment Vs System Image / Runtime image
o Tradeoff between flexibility and manageability
o CM is the vein of DevOps
• Shell scripts -> Chef
o Immutable Infrastructure
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
Docker
Chef
Awesomeness
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
Chef and Docker
Replaces Human Tasks,
Idempotence, Thick
client - thin servers,
Order Matters, Huge
Community Support
An improved Robot,
Fast, Easy, Fresh fish
in the market, ready
to be baked!
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
Simple CD Pipeline
Because simple things can bring the
most happiness!
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
Simple CI/CD Pipeline
Deploy using
knife-ssh or
Push Jobs
docker pull
docker stop
docker run
Docker
Registry
Unique tag
Docker Image
Save image
Build Process
Build tools have
docker support
Build tools generate
a docker image
Code
git push
Triggers Build
CI Server
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
The Simple Steps
o git push to https://github.com/WHDevOpsDev/HelloScala
o Triggers a build on your CI server
• sbt docker
• docker push WHDevOpsDev/hello-scala
• knife ssh 'role:test' 'deploy.sh' -x ssh-user -i ssh-key -c knife.rb
o Build tools offer docker integration
o Eg: Maven has docker-maven-plugin
• https://github.com/spotify/docker-maven-plugin
• mvn clean package docker:build -DpushImage
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
~/github/HelloScala > sbt docker
[info] Loading project definition from
/Users/WHDevOpsDevphale/github/HelloScala/project
[info] Set current project to hello-scala (in build
file:/Users/WHDevOpsDevphale/github/HelloScala/)
[info] Creating docker image with name: 'WHDevOpsDev/hello-
scala'
:
[info] Sending build context to Docker daemon
[info] Step 0 : FROM dockerfile/java
[info] ---> 1126c85d8a06
[info] Step 1 : ADD /app/hello-scala_2.11-1.4-one-jar.jar /app/hello-
scala_2.11-1.4-one-jar.jar
[info] ---> Using cache
[info] ---> 61871958f108
[info] Step 2 : ENTRYPOINT java -jar /app/hello-scala_2.11-1.4-
one-jar.jar
[info] ---> Using cache
[info] ---> a8005b32ddc4
[info] Successfully built a8005b32ddc4
[info] Successfully built Docker image: WHDevOpsDev/hello-scala
[success] Total time: 1 s, completed Mar 3, 2015 2:10:04 PM
~/github/HelloScala > docker images | grep hello-scala
WHDevOpsDev/hello-scala latest a8005b32ddc4 12 hours
ago 715 MB
~/github/HelloScala > docker run WHDevOpsDev/hello-scala
Hello, world! #1
Hello, world! #2
Hello, world! #3
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
Docker Registry
Docker Hub
Link:
https://registry.hub.docker.com
/u/WHDevOpsDev/hello-scala
Automated Build in Docker:
https://registry.hub.docker.com
/u/WHDevOpsDev/helloscala-
automated-build/
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
Push Jobs
Do you need to push harder?
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
Push Jobs
o Knife-ssh
o Journey from pull to push
o
run against nodes independently of a chef-
o Job: set of commands to be run on node
• Docker pull
• Docker stop
• Docker run
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
Push Jobs
oUse message bus (zeromq)
oClaims to attack the
scalability issue
oDeployment status is relayed
back
oNew born baby
oComplex at the moment,
ready with just the basic
foundation
Knife SSH
oParallel ssh
oSSH Protocol is slow and
CPU hungry at scale
oFeedback on deployment
status is not as easy
oBeen in the market for long
oEasy to use
How are Push Jobs different from knife-ssh?
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
Chef Push Jobs Server
oEnterprise Chef 11 or Chef server 12
oStandalone or HA
oRun the commands on Chef Server:
• chef-server-ctl install opscode-push-jobs-server
• opscode-push-jobs-server-ctl reconfigure
• chef-server-ctl reconfigure
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
Setup Workstation
o Install knife push plugin
• Gem install knife-jobs
o Knife cookbook site download push-jobs
o Extract and save to your cookbook path
o Edit the attributes file (push-jobs/attributes/default.rb)
• default['push_jobs']['package_url'] = 'https://opscode-private-
chef.s3.amazonaws.com/ubuntu/12.04/x86_64/opscode-push-jobs-client_1.1.5-
1_amd64.deb'
• default['push_jobs']['package_checksum'] =
o Upload the push-jobs cookbook to your ChefServer
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
Create Groups & Setup Node
o Create 2 groups
• Pushy_job_writers
• Pushy_job_readers
o Add user to the groups
o Sudo chef-client -
o From Workstation:
• Knife node status
• Knife node status <node-name>
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
Run
o -client r recipe[run-docker -name>
o my_node
o Where docker.sh:
• Docker pull WHDevOpsDev/hello-scala
• docker ps | grep WHDevOpsDev/hello-scala| awk -
• Docker run WHDevOpsDev/hello-scala
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
When Reality Strikes…
If only applications were Hello World programs!
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
Docker Image
Application Configuration Docker Image
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
What is Configuration?
Packages Custom SetupsCredentials
Softwares Database
Files
Environment
Specific
Configuration
Ports
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
ENVIRONMENTS
DEV
Docker
Container
Docker
Container
Docker
Container
PRE
PROD
Docker
Container
Docker
Container
Docker
Container
PROD
Docker
Container
Docker
Container
Docker
Container
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
Secure Credential Management
oUnsolved problem with Docker today
oCredentials inside docker containers
•Hard codes
•Set environment variables
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
Workaround?
Create Base Image Manually, with
configuration embedded
Build Tool uses the custom Base Image
Deploy using knife-ssh
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
Docker Chef Cookbook
To manage docker images and deployment
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
Docker Cookbook
o Available in Supermarket: https://supermarket.chef.io/cookbooks/docker
o Install docker
o Build docker image
o Pull image and run container
o Push docker image to registry
o LWRPs
• Docker_container
• Docker_image
• Docker_registry
o https://github.com/bflad/chef-docker/blob/master/README.md
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
Credential Management
secret = Chef::EncryptedDataBagItem.load_secret
@docker_cred = Chef::EncryptedDataBagItem.load(
node['docker']['creds']['databag'],
node['docker']['user'],
secret
)
docker_registry WHDevOpsDev/hello-scala
email docker_cred['email']
username docker_cred['username']
password docker_cred['password']
end
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
Docker_image
# Build a docker image using docker_image resource
docker_image node['docker']['image'] do
tag node['docker']['image']['tag']
source '/var/docker'
action :build
end
# Push the image to docker registery
docker_image node['docker']['image'] do
action :push
end
# Delete the image from the machine
docker_image node['docker']['image'] do
action :remove
end
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
Docker_container
# Run Container
docker_container WHDevOpsDev/hello-scala
detach true
env -
mnt/docker/docker-
action :run
end
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
GENERATE DOCKERFILE
# Generate a docker file using template.
template "#{node['docker']['directory']}/Dockerfile" do
source 'dockerfile.erb'
variables image: node['docker']['base']['image']['name'],
maintainer: @docker_cred['maintainer'],
email: docker_cred['email'],
build_cmd: node['docker']['build']['commands'],
entry_point: node['docker']['build']['entry_point']
action :create
end
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
WORKFLOW
Build
Application
• Save the Artifact to a Repository Manager
Build Docker
Image
• Docker cookbook would build and save the docker image
Deploy
• Docker cookbook runs the container
on the nodes
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
Chef Containers
Contains Awesome.
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
What is a Chef Container?
oPackage
oProvides Configuration Management for
containers
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
Chef Container Components
chef-client
runit
chef-init
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
Why Chef Containers?
oBootstrap chef-client without SSH
connection
oManage multiple services inside your
container
oManage running state of your container
oConsistency across Architectures
oMixed Architecture Applications
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
Best Suited For
oTransitioning traditional architecture to containers
oHandling last mile configuration when container boots
oGetting the best of two worlds without complexity
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
Knife container docker init
oGem install knife-container
oknife container docker init NAMESPACE/IMAGE_NAME
[options]
• -f base docker image (default is ubuntu 12.04) - chef container should
be already installed on it
• -r runlist
• -z chef client local mode
• -b use berkshelf
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
EXample
$ sudo knife container docker init WHDevOpsDev/hello-scala-cc
Compiling Cookbooks...
Recipe: knife_container::docker_init
* directory[/home/ubuntu/chef-repo/dockerfiles/WHDevOpsDev/hello-scala-cc] action create
* template[/home/ubuntu/chef-repo/dockerfiles/WHDevOpsDev/hello-scala-cc/Dockerfile] action
create
- update content in file /home/ubuntu/chef-repo/dockerfiles/WHDevOpsDev/hello-scala-
cc/Dockerfile from none to 943017
- * template[/home/ubuntu/chef-repo/dockerfiles/WHDevOpsDev/hello-scala-cc/.dockerignore]
action create
- create new file /home/ubuntu/chef-repo/dockerfiles/WHDevOpsDev/hello-scala-cc/.dockerignore
- update content in file /home/ubuntu/chef-repo/dockerfiles/WHDevOpsDev/hello-scala-
cc/.dockerignore from none to e3b0c4
* directory[/home/ubuntu/chef-repo/dockerfiles/WHDevOpsDev/hello-scala-cc/chef] action create
- create new directory /home/ubuntu/chef-repo/dockerfiles/WHDevOpsDev/hello-scala-cc/chef
* template[/home/ubuntu/chef-repo/dockerfiles/WHDevOpsDev/hello-scala-cc/chef/client.rb] action
create
- create new file /home/ubuntu/chef-repo/dockerfiles/WHDevOpsDev/hello-scala-cc/chef/client.rb
- update content in file /home/ubuntu/chef-repo/dockerfiles/WHDevOpsDev/hello-scala-
cc/chef/client.rb from none to 7de61f
* file[/home/ubuntu/chef-repo/dockerfiles/WHDevOpsDev/hello-scala-cc/chef/first-boot.json] action
create
- create new file /home/ubuntu/chef-repo/dockerfiles/WHDevOpsDev/hello-scala-cc/chef/first-
boot.json
- update content in file /home/ubuntu/chef-repo/dockerfiles/WHDevOpsDev/hello-scala-
cc/chef/first-boot.json from none to 5269ef
* template[/home/ubuntu/chef-repo/dockerfiles/WHDevOpsDev/hello-scala-cc/chef/.node_name]
action create
- create new file /home/ubuntu/chef-repo/dockerfiles/WHDevOpsDev/hello-scala-
cc/chef/.node_name
- update content in file /home/ubuntu/chef-repo/dockerfiles/WHDevOpsDev/hello-scala-
cc/chef/.node_name from none to 4764d2
* template[/home/ubuntu/chef-repo/dockerfiles/WHDevOpsDev/hello-scala-cc/Berksfile] action
create (skipped due to only_if)
* directory[/home/ubuntu/chef-repo/dockerfiles/WHDevOpsDev/hello-scala-cc/chef/secure] action
create
- create new directory /home/ubuntu/chef-repo/dockerfiles/WHDevOpsDev/hello-scala-
cc/chef/secure
* file[/home/ubuntu/chef-repo/dockerfiles/WHDevOpsDev/hello-scala-
cc/chef/secure/validation.pem] action create
- create new file /home/ubuntu/chef-repo/dockerfiles/WHDevOpsDev/hello-scala-
cc/chef/secure/validation.pem
- update content in file /home/ubuntu/chef-repo/dockerfiles/WHDevOpsDev/hello-scala-
cc/chef/secure/validation.pem from none to ec1f3e
- change mode from '' to '0600'
Downloading base image: chef/ubuntu-12.04:latest. This process may take awhile...
Tagging base image chef/ubuntu-12.04 as WHDevOpsDev/hello-scala-cc
Context Created: /home/ubuntu/chef-repo/dockerfiles/WHDevOpsDev/hello-scala-cc
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
Knife container docker build
orun command docker images
oknife container docker build
• resolve docker dependencies
• build docker image
• cleanup chef artifacts
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
EXAMPLE
$ sudo knife container docker build WHDevOpsDev/hello-scala-cc
Sending build context to Docker daemon 9.728 kB
Sending build context to Docker daemon
Step 0 : FROM WHDevOpsDev/hello-scala-cc
---> 50d3c5c9e133
Step 1 : ADD chef/ /etc/chef/
---> 4933cc9e13e0
Removing intermediate container da0a08413a91
Step 2 : RUN chef-init --bootstrap
---> Running in add27db609cc
[2015-03-31T21:44:44+00:00] INFO: Starting Supervisor...
[2015-03-31T21:44:44+00:00] INFO: Supervisor pid: 9
[2015-03-31T21:44:49+00:00] INFO: Starting chef-client run...
[2015-03-31T21:44:50+00:00] INFO: Forking chef instance to converge...
[2015-03-31T21:44:50+00:00] INFO: *** Chef 11.16.2 ***
[2015-03-31T21:44:50+00:00] INFO: Chef-client pid: 16
[2015-03-31T21:44:53+00:00] INFO: Client key /etc/chef/secure/client.pem is not present - registering
[2015-03-31T21:44:53+00:00] INFO: HTTP Request Returned 404 Object Not Found: error
[2015-03-31T21:44:54+00:00] INFO: Setting the run_list to [] from CLI options
[2015-03-31T21:44:54+00:00] INFO: Run List is []
[2015-03-31T21:44:54+00:00] INFO: Run List expands to []
[2015-03-31T21:44:54+00:00] INFO: Starting Chef Run for WHDevOpsDev-hello-scala-cc-build
[2015-03-31T21:44:54+00:00] INFO: Running start handlers
[2015-03-31T21:44:54+00:00] INFO: Start handlers complete.
[2015-03-31T21:44:55+00:00] INFO: Loading cookbooks []
[2015-03-31T21:44:55+00:00] WARN: Node WHDevOpsDev-hello-scala-cc-build has an empty run list.
[2015-03-31T21:44:55+00:00] INFO: Chef Run complete in 1.121705004 seconds
[2015-03-31T21:44:55+00:00] INFO: Running report handlers
[2015-03-31T21:44:55+00:00] INFO: Report handlers complete
[2015-03-31T21:44:55+00:00] INFO: Sending resource update report (run-id: 6f637baf-18cc-4620-b3e2-
9afc90e8cd6b)
---> 2c2ec6fab1ef
Removing intermediate container add27db609cc
Step 3 : RUN rm -rf /etc/chef/secure/*
---> Running in 30a3611b083f
---> cab28d6eed90
Removing intermediate container 30a3611b083f
Step 4 : ENTRYPOINT ["chef-init"]
---> Running in 0a9f4e96bbf7
---> a8577b66b103
Removing intermediate container 0a9f4e96bbf7
Step 5 : CMD ["--onboot"]
---> Running in f9a444817229
---> 21b3800bc9b3
Removing intermediate container f9a444817229
Successfully built 21b3800bc9b3
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
Docker images
$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
WHDevOpsDev/hello-scala-cc latest 21b3800bc9b3 2 hours ago 311.9 MB
<none> <none> b343c8301cc8 2 hours ago 311.9 MB
chef/ubuntu-12.04 latest 50d3c5c9e133 6 months ago 311.9 MB
$ sudo docker push WHDevOpsDev/hello-scala-cc
$ sudo docker d run WHDevOpsDev/hello-scala-cc
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
Our Story
Product under Development. Super Cool DevOps Culture.
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
Lessons Learnt
oRunning apps in containers is easy
oDebugging apps in containers is difficult
oYou can very well run multiple services inside a docker
container
oAh the woes of Docker networking!
oSequential Progression
o
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
WhiteHedgeFOLLOW US
52
Questions?
http://www.whitehedge.com/docker-microservices/
info@whitehedge.com
WhiteHedge
@thewhitehedgeinfo@WhiteHedge.comWhiteHedge.com/docker-microservices/
THANK YOU!
Have a Nice Day!

Weitere ähnliche Inhalte

Was ist angesagt?

Practical introduction to dev ops with chef
Practical introduction to dev ops with chefPractical introduction to dev ops with chef
Practical introduction to dev ops with chef
LeanDog
 

Was ist angesagt? (20)

Getting Started With Jenkins And Drupal
Getting Started With Jenkins And DrupalGetting Started With Jenkins And Drupal
Getting Started With Jenkins And Drupal
 
Continuous Integration & Drupal
Continuous Integration & DrupalContinuous Integration & Drupal
Continuous Integration & Drupal
 
Testable Infrastructure with Chef, Test Kitchen, and Docker
Testable Infrastructure with Chef, Test Kitchen, and DockerTestable Infrastructure with Chef, Test Kitchen, and Docker
Testable Infrastructure with Chef, Test Kitchen, and Docker
 
GDG-ANDROID-ATHENS Meetup: Build in Docker with Jenkins
GDG-ANDROID-ATHENS Meetup: Build in Docker with Jenkins GDG-ANDROID-ATHENS Meetup: Build in Docker with Jenkins
GDG-ANDROID-ATHENS Meetup: Build in Docker with Jenkins
 
Terminus, the Pantheon command-line interface
Terminus, the Pantheon command-line interfaceTerminus, the Pantheon command-line interface
Terminus, the Pantheon command-line interface
 
7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins Users7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins Users
 
The Modern Developer Toolbox
The Modern Developer ToolboxThe Modern Developer Toolbox
The Modern Developer Toolbox
 
Antons Kranga Building Agile Infrastructures
Antons Kranga   Building Agile InfrastructuresAntons Kranga   Building Agile Infrastructures
Antons Kranga Building Agile Infrastructures
 
Drupal Continuous Integration with Jenkins - Deploy
Drupal Continuous Integration with Jenkins - DeployDrupal Continuous Integration with Jenkins - Deploy
Drupal Continuous Integration with Jenkins - Deploy
 
Symfony Live NYC 2014 - Rock Solid Deployment of Symfony Apps
Symfony Live NYC 2014 -  Rock Solid Deployment of Symfony AppsSymfony Live NYC 2014 -  Rock Solid Deployment of Symfony Apps
Symfony Live NYC 2014 - Rock Solid Deployment of Symfony Apps
 
Enable Fig to deploy to multiple Docker servers by Willy Kuo
Enable Fig to deploy to multiple Docker servers by Willy KuoEnable Fig to deploy to multiple Docker servers by Willy Kuo
Enable Fig to deploy to multiple Docker servers by Willy Kuo
 
Jenkins Days - Workshop - Let's Build a Pipeline - Los Angeles
Jenkins Days - Workshop - Let's Build a Pipeline - Los AngelesJenkins Days - Workshop - Let's Build a Pipeline - Los Angeles
Jenkins Days - Workshop - Let's Build a Pipeline - Los Angeles
 
Practical introduction to dev ops with chef
Practical introduction to dev ops with chefPractical introduction to dev ops with chef
Practical introduction to dev ops with chef
 
Baking docker using chef
Baking docker using chefBaking docker using chef
Baking docker using chef
 
Automate App Container Delivery with CI/CD and DevOps
Automate App Container Delivery with CI/CD and DevOpsAutomate App Container Delivery with CI/CD and DevOps
Automate App Container Delivery with CI/CD and DevOps
 
PHP & JavaScript & CSS Coding style
PHP & JavaScript & CSS Coding stylePHP & JavaScript & CSS Coding style
PHP & JavaScript & CSS Coding style
 
(Declarative) Jenkins Pipelines
(Declarative) Jenkins Pipelines(Declarative) Jenkins Pipelines
(Declarative) Jenkins Pipelines
 
PVS-Studio: analyzing pull requests in Azure DevOps using self-hosted agents
PVS-Studio: analyzing pull requests in Azure DevOps using self-hosted agentsPVS-Studio: analyzing pull requests in Azure DevOps using self-hosted agents
PVS-Studio: analyzing pull requests in Azure DevOps using self-hosted agents
 
Kubernetes Story - Day 1: Build and Manage Containers with Podman
Kubernetes Story - Day 1: Build and Manage Containers with PodmanKubernetes Story - Day 1: Build and Manage Containers with Podman
Kubernetes Story - Day 1: Build and Manage Containers with Podman
 
7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins Users7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins Users
 

Andere mochten auch

DevOps Services Offerings from Rational Lab Services
DevOps Services Offerings from Rational Lab ServicesDevOps Services Offerings from Rational Lab Services
DevOps Services Offerings from Rational Lab Services
IBM Rational software
 

Andere mochten auch (6)

DevOps Offerings at WhiteHedge
DevOps Offerings at WhiteHedgeDevOps Offerings at WhiteHedge
DevOps Offerings at WhiteHedge
 
Enabling Enterprises Adopt DevOps
Enabling Enterprises Adopt DevOpsEnabling Enterprises Adopt DevOps
Enabling Enterprises Adopt DevOps
 
Microservices 101: From DevOps to Docker and beyond
Microservices 101: From DevOps to Docker and beyondMicroservices 101: From DevOps to Docker and beyond
Microservices 101: From DevOps to Docker and beyond
 
Deploying Docker (Provisioning /w Docker + Chef/Puppet) - DevopsDaysPGH
Deploying Docker (Provisioning /w Docker + Chef/Puppet) - DevopsDaysPGHDeploying Docker (Provisioning /w Docker + Chef/Puppet) - DevopsDaysPGH
Deploying Docker (Provisioning /w Docker + Chef/Puppet) - DevopsDaysPGH
 
DevOps Services Offerings from Rational Lab Services
DevOps Services Offerings from Rational Lab ServicesDevOps Services Offerings from Rational Lab Services
DevOps Services Offerings from Rational Lab Services
 
Internet of Things and its applications
Internet of Things and its applicationsInternet of Things and its applications
Internet of Things and its applications
 

Ähnlich wie Effective DevOps by using Docker and Chef together !

Developing and Deploying PHP with Docker
Developing and Deploying PHP with DockerDeveloping and Deploying PHP with Docker
Developing and Deploying PHP with Docker
Patrick Mizer
 
Docker at Monoco.jp (LinkedIn)
Docker at Monoco.jp (LinkedIn)Docker at Monoco.jp (LinkedIn)
Docker at Monoco.jp (LinkedIn)
Akhmad Fathonih
 

Ähnlich wie Effective DevOps by using Docker and Chef together ! (20)

Making Sense Out of Amazon EC2 Container Service
Making Sense Out of Amazon EC2 Container ServiceMaking Sense Out of Amazon EC2 Container Service
Making Sense Out of Amazon EC2 Container Service
 
Making Sense out of Amazon ECS
Making Sense out of Amazon ECSMaking Sense out of Amazon ECS
Making Sense out of Amazon ECS
 
Containers without docker | DevNation Tech Talk
Containers without docker | DevNation Tech TalkContainers without docker | DevNation Tech Talk
Containers without docker | DevNation Tech Talk
 
Azure Bootcamp 2016 - Docker Orchestration on Azure with Rancher
Azure Bootcamp 2016 - Docker Orchestration on Azure with RancherAzure Bootcamp 2016 - Docker Orchestration on Azure with Rancher
Azure Bootcamp 2016 - Docker Orchestration on Azure with Rancher
 
Docker - introduction
Docker - introductionDocker - introduction
Docker - introduction
 
Developing and Deploying PHP with Docker
Developing and Deploying PHP with DockerDeveloping and Deploying PHP with Docker
Developing and Deploying PHP with Docker
 
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, OrchestrationThe Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
The Docker "Gauntlet" - Introduction, Ecosystem, Deployment, Orchestration
 
Mettles journey towards throw away clusters (Cloud Native Nordics)
Mettles journey towards throw away clusters (Cloud Native Nordics)Mettles journey towards throw away clusters (Cloud Native Nordics)
Mettles journey towards throw away clusters (Cloud Native Nordics)
 
Deploying R for Production - SRUG
Deploying R for Production - SRUGDeploying R for Production - SRUG
Deploying R for Production - SRUG
 
HP Helion European Webinar Series ,Webinar #3
HP Helion European Webinar Series ,Webinar #3 HP Helion European Webinar Series ,Webinar #3
HP Helion European Webinar Series ,Webinar #3
 
Docker at Monoco.jp (LinkedIn)
Docker at Monoco.jp (LinkedIn)Docker at Monoco.jp (LinkedIn)
Docker at Monoco.jp (LinkedIn)
 
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
CI/CD with Jenkins and Docker - DevOps Meetup Day ThailandCI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
CI/CD with Jenkins and Docker - DevOps Meetup Day Thailand
 
Building a REST API Microservice for the DevNet API Scavenger Hunt
Building a REST API Microservice for the DevNet API Scavenger HuntBuilding a REST API Microservice for the DevNet API Scavenger Hunt
Building a REST API Microservice for the DevNet API Scavenger Hunt
 
habitat at docker bud
habitat at docker budhabitat at docker bud
habitat at docker bud
 
Docker fundamentals
Docker fundamentalsDocker fundamentals
Docker fundamentals
 
Deploying applications to Windows Server 2016 and Windows Containers
Deploying applications to Windows Server 2016 and Windows ContainersDeploying applications to Windows Server 2016 and Windows Containers
Deploying applications to Windows Server 2016 and Windows Containers
 
Introduction to-chef
Introduction to-chefIntroduction to-chef
Introduction to-chef
 
2016 05-cloudsoft-amp-and-brooklyn-new
2016 05-cloudsoft-amp-and-brooklyn-new2016 05-cloudsoft-amp-and-brooklyn-new
2016 05-cloudsoft-amp-and-brooklyn-new
 
Taking Docker to Dance: Continuous Delivery on AWS
Taking Docker to Dance: Continuous Delivery on AWSTaking Docker to Dance: Continuous Delivery on AWS
Taking Docker to Dance: Continuous Delivery on AWS
 
Docker engine - Indroduc
Docker engine - IndroducDocker engine - Indroduc
Docker engine - Indroduc
 

Mehr von WhiteHedge Technologies Inc.

India’s Most Exciting Companies and the Key People who Steer Them to Excellence.
India’s Most Exciting Companies and the Key People who Steer Them to Excellence.India’s Most Exciting Companies and the Key People who Steer Them to Excellence.
India’s Most Exciting Companies and the Key People who Steer Them to Excellence.
WhiteHedge Technologies Inc.
 

Mehr von WhiteHedge Technologies Inc. (8)

Mobile Development: Case Studies @ WhiteHedge
Mobile Development: Case Studies @ WhiteHedgeMobile Development: Case Studies @ WhiteHedge
Mobile Development: Case Studies @ WhiteHedge
 
EC2 Container Service
EC2 Container ServiceEC2 Container Service
EC2 Container Service
 
Online Advertising
Online AdvertisingOnline Advertising
Online Advertising
 
Icebreaker with DevOps
Icebreaker with DevOpsIcebreaker with DevOps
Icebreaker with DevOps
 
DevOps Case Studies
DevOps Case StudiesDevOps Case Studies
DevOps Case Studies
 
What is DevOps?
What is DevOps?What is DevOps?
What is DevOps?
 
WhiteHedge DevOps Offerings and Skillset :: Changing Chaos to Coherence
WhiteHedge DevOps Offerings and Skillset :: Changing Chaos to CoherenceWhiteHedge DevOps Offerings and Skillset :: Changing Chaos to Coherence
WhiteHedge DevOps Offerings and Skillset :: Changing Chaos to Coherence
 
India’s Most Exciting Companies and the Key People who Steer Them to Excellence.
India’s Most Exciting Companies and the Key People who Steer Them to Excellence.India’s Most Exciting Companies and the Key People who Steer Them to Excellence.
India’s Most Exciting Companies and the Key People who Steer Them to Excellence.
 

Kürzlich hochgeladen

CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 

Kürzlich hochgeladen (20)

10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 

Effective DevOps by using Docker and Chef together !