Docker for developers

Chris Tankersley
Chris TankersleyPHP Programmer at Home
Docker for Developers
Chris	Tankersley	
@dragonmantank	
SunshinePHP	2016	
SunshinePHP	2016	 1
Who Am I
•  PHP	Programmer	for	over	11	years	
•  Sysadmin/DevOps	for	around	9	years	
•  Using	Linux	for	more	than	15	years	
•  hGps://github.com/dragonmantank	
•  Author	of	“Docker	for	Developers”	
•  Reigning,	Defending,	Undisputed	PHP	
MTG	Champion	of	the	World	
SunshinePHP	2016	 2
Docker
SunshinePHP	2016	 3
What Is Docker?
“Docker	is	an	open	plaUorm	for	developers	and	sysadmins	to	build,	
ship,	and	run	distributed	applicaVons.	ConsisVng	of	Docker	Engine,	a	
portable,	lightweight	runVme	and	packaging	tool,	and	Docker	Hub,	a	
cloud	service	for	sharing	applicaVons	and	automaVng	workflows,	
Docker	enables	apps	to	be	quickly	assembled	from	components	and	
eliminates	the	fricVon	between	development,	QA,	and	producVon	
environments.”	
SunshinePHP	2016	 4	
hGps://www.docker.com/whaVsdocker/
What is it from a technical standpoint?
•  Docker	is	a	wrapper	around	Containers	
•  Docker	Engine	is	the	packaging	porVon	that	builds	and	runs	the	
containers	
•  Docker	Hub	allows	you	to	publish	images	for	others	to	use	
•  Docker	Machine	is	a	bare-metal	provisioning	tool	
•  Docker	Swarm	is	an	load-balancing	deployment	tool	
•  Docker	Compose	is	a	mulV-container	build	system	
SunshinePHP	2016	 5
Containers
SunshinePHP	2016	 6
Normal Bare-Metal Server
SunshinePHP	2016	 7	
CPU	 RAM	 HD	 Network	
OperaVng	System	
nginx	 PHP	 DB
Virtual Machines
SunshinePHP	2016	 8	
CPU	 RAM	 HD	 Network	
OperaVng	System	
nginx	 PHP	 DB	
OperaVng	System	
nginx	 PHP	 DB	
OperaVng	System	
Hypervisor
Containers
SunshinePHP	2016	 9	
CPU	 RAM	 HD	 Network	
OperaVng	System	
nginx	nginx	 PHP	 DB	 PHP	 DB
Docker can use many different containers
•  Since	0.9.0	it	supports:	
•  LXC	(Linux	Containers)	–	Started	with	LXC	when	it	was	released	
•  OpenVZ	
•  Systemd-nspawn	
•  libvert-sandbox	
•  Qemu/kvm	
•  BSD	Jails	
•  Solaris	Zones	
•  chroot	
SunshinePHP	2016	 10
Runs on *nix and Windows Hyper-V
•  No	naVve	container	drivers	for	OSX	
•  Amazon	has	ElasVc	Container	Service,	and	Microsoj	Azure	has	Azure	
Container	Service	
SunshinePHP	2016	 11
Sorry OSX Users
•  Docker	support	is	officially	maintained	through	Docker	Toolbox	
SunshinePHP	2016	 12
Docker Toolbox also is for Windows
SunshinePHP	2016	 13
Let’s use Docker
SunshinePHP	2016	 14
Assumptions
•  OSX	and	Windows	users	have	Docker	Toolbox	installed	
•  Linux	users	have	the	naVve	binaries	installed	
•  The	following	images	are	downloaded:	
•  php:7-fpm	
•  php:7-cli	
•  nginx	
•  mysql	
•  composer/composer	
SunshinePHP	2016	 15
Running a container
•  `docker	run`	will	run	a	container	
•  This	will	not	restart	an	exisVng	container,	just	create	a	new	one	
•  docker	run	[opVons]	IMAGE	[command]	[arguments]	
•  [opVons	]modify	the	docker	process	for	this	container	
•  IMAGE	is	the	image	to	use	
•  [command]	is	the	command	to	run	inside	the	container	
•  [arguments]	are	arguments	for	the	command	
SunshinePHP	2016	 16
Running a simple shell
SunshinePHP	2016	 17
Running Two Webservers
SunshinePHP	2016	 18
Some Notes
•  All	three	containers	are	100%	self	contained	
•  Docker	containers	share	common	ancestors,	but	keep	their	own	files	
•  `docker	run`	parameters:	
•  --rm	–	Destroy	a	container	once	it	exits	
•  -d	–	Run	in	the	background	(daemon	mode)	
•  -i	–	Run	in	interacVve	mode	
•  --name	–	Give	the	container	a	name	
•  -p	[local	port]:[container	port]	–	Forward	the	local	port	to	the	container	port	
SunshinePHP	2016	 19
Volumes
SunshinePHP	2016	 20
Modifying a running container
•  `docker	exec`	can	run	a	command	inside	of	an	exisVng	container	
•  Use	Volumes	to	share	data	
SunshinePHP	2016	 21
Persistent Data with Volumes
•  You	can	designate	a	volume	with	-v	
•  Volumes	can	be	shared	amongst	containers	
•  Volumes	can	mount	data	from	the	host	system	
SunshinePHP	2016	 22
Mounting from the host machine
SunshinePHP	2016	 23
Mounting from the host isn’t perfect
•  The	container	now	has	a	window	into	your	host	machine	
•  Permissions	can	get	screwy	if	you	are	modifying	in	the	container	
•  Most	things	it	creates	will	be	root	by	default,	and	you	probably	aren’t	root	on	
the	host	machine	
•  Host-mounted	volumes	are	not	portable	at	all	
•  Docker	Toolbox’s	VM	only	allows	mounVng	from	within	your	home	
directory	
SunshinePHP	2016	 24
Container Data Volumes
•  Uses	a	small	container	that	does	nothing	but	stores	data	
•  Have	our	app	containers	use	the	data	volume	to	store	data	
•  Use	‘editor	containers’	to	go	in	and	modify	data	when	needed	
SunshinePHP	2016	 25
Mounting Data Volumes
SunshinePHP	2016	 26
Why not run SSH inside of the container?
•  Well,	you	can…	
•  Docker	is	designed	for	one	command	per	container	
•  If	you	need	to	modify	data,	then	you	need	to	change	your	setup	
•  If	you	have	to	run	SSH,	then	you	need	a	way	to	run	SSH	and	your	
command	
SunshinePHP	2016	 27
Why go through the hassle?
•  Data	volumes	are	portable	
•  Data	volumes	are	safer	
•  Separates	the	app	containers	from	data	
•  ProducVon	can	use	a	data	volume,	dev	can	use	a	host	volume	
•  Our	app	containers	stay	small	
SunshinePHP	2016	 28
Network Linking
SunshinePHP	2016	 29
Docker Links
•  Allows	containers	to	‘see’	each	other	over	the	network	
•  Each	container	thinks	the	other	one	is	just	another	machine	
•  Containers	all	have	an	internal	network	address,	so	we	don’t	need	to	
expose	everything	through	the	host	
•  Currently	only	works	if	all	the	containers	are	on	one	machine,	Docker	
1.10	should	fix	that	
SunshinePHP	2016	 30
More Traditional Setup
SunshinePHP	2016	 31	
INTARWEBS	 Nginx		 PHP-FPM	
Data	Volume	
Port	9000	
Editor
Let’s Build It
SunshinePHP	2016	 32
More Notes!
•  We	can	now	rebuild	secVons	of	the	app	as	needed	
•  We	can	restart	nginx	without	impacVng	PHP	
•  We	can	extend	much	easier	
•  Linked	containers	will	not	update	if	they	are	stopped/started	
•  If	we	upgrade	PHP,	we	have	to	destroy/create	the	web_server	container	
again	
SunshinePHP	2016	 33
Creating your own Images
SunshinePHP	2016	 34
Dockerfile
•  Dockerfile	is	the	configuraVon	steps	for	an	image	
•  Can	be	created	from	scratch,	or	based	on	another	image	
•  Allows	you	to	add	files,	create	default	volumes,	ports,	etc	
•  Can	be	used	privately	or	pushed	to	Docker	Hub	
SunshinePHP	2016	 35
FROM	phusion/baseimage:0.9.10	
#	…	
CMD	["/sbin/my_init"]	
#	Nginx-PHP	Installation	
RUN	apt-get	update	
RUN	apt-get	install	-y	vim	git	curl	wget	build-essential	python-software-properties	
	 								php5-cli	php5-fpm	php5-mysql	php5-pgsql	php5-sqlite	php5-curl	
	 								php5-gd	php5-mcrypt	php5-intl	php5-imap	php5-tidy	mysql-client	
#	…	
RUN	mkdir											/var/www	
ADD	build/default			/etc/nginx/sites-available/default	
#	…	
EXPOSE	80	22	
VOLUME	/var/www	
VOLUME	/etc/nginx	
VOLUME	/etc/php/	
VOLUME	/var/log	
	
RUN	apt-get	clean	&&	rm	-rf	/var/lib/apt/lists/*	/tmp/*	/var/tmp/*	
SunshinePHP	2016	 36
Build it
docker	build	-t	tag_name	./	
•  This	runs	through	the	Dockerfile	and	generates	the	image	
•  We	can	now	use	the	tag	name	to	run	the	image	
SunshinePHP	2016	 37
Other Helpful Commands
SunshinePHP	2016	 38
Inspect a container
docker	inspect	[opVons]	CONTAINER_NAME	
•  Returns	a	JSON	string	with	data	about	the	container	
•  Can	also	query	
•  docker	inspect	-f	“{{	.NetworkSezngs.IPAddres	}}”	web_server	
•  Really	handy	for	scripVng	out	things	like	reverse	proxies	
SunshinePHP	2016	 39
Work with images
•  docker	pull	IMAGE	–	Pulls	down	an	image	before	using	
•  docker	images	–	Lists	all	the	images	that	are	downloaded	
•  docker	rmi	IMAGE	–	Deletes	an	image	if	it’s	not	being	used	
SunshinePHP	2016	 40
Docker Machine
SunshinePHP	2016	 41
What is Docker Machine?
•  A	provisioning	tool	that	is	used	to	set	up	a	box	with	Docker	
•  Used	in	Docker	Toolbox	to	create	the	VM	
•  Supports:	
•  EC2	
•  Azure	
•  Digital	Ocean	
•  Hyper-V	
•  OpenStack	
•  Virtualbox	
•  VMWare	
SunshinePHP	2016	 42
Creating a new machine
SunshinePHP	2016	 43
Why use it?
•  Makes	it	very	easy	to	spin	up	new	boxes	
•  Docker	Machine	handles	all	of	the	dirty	stuff	for	you	
•  Docker	Toolbox	users	are	already	using	it	
•  Integrates	with	Docker	Swarm	
•  It	is	not	necessarily	portable	
SunshinePHP	2016	 44
Docker Swarm
SunshinePHP	2016	 45
What is Docker Swarm?
•  Cluster	management	tool	developed	by	Docker	
•  Looks	like	a	machine	running	docker,	but	is	actually	many	machines	
SunshinePHP	2016	 46
Create a Swarm token
$	docker	run	--rm	swarm	create	2		
//...	
340122bb69c98825b4ac7094c87a07e21		
	
SunshinePHP	2016	 47
Create a Swarm Master
$	docker-machine	create	-d	virtualbox			
				--swarm			
				--swarm-master			
				--swarm-discovery	token://40122bb69c98825b4ac7094c87a07e21			
				swarm-master		
	
SunshinePHP	2016	 48
Add nodes to the swarm
docker-machine	create	-d	virtualbox			
				--swarm			
				--swarm-discovery	token://40122bb69c98825b4ac7094c87a07e21			
				swarm-node-1	
	
	
docker-machine	create	-d	virtualbox			
				--swarm			
				--swarm-discovery	token://40122bb69c98825b4ac7094c87a07e21			
				swarm-node-2	
	 SunshinePHP	2016	 49
Switch to the master
eval	$(docker-machine	env	--swarm	swarm-master)		
	
SunshinePHP	2016	 50
Add some containers
SunshinePHP	2016	 51
Docker Compose
SunshinePHP	2016	 52
What is Docker Compose?
•  MulV-container	orchestraVon	
•  A	single	config	file	holds	all	of	your	container	info	
•  Works	with	Docker	Swarm	and	a	few	other	tools,	like	Rancher	
SunshinePHP	2016	 53
Sample docker-compose.yml
phpserver:	
		build:	./docker/php	
		volumes:	
				-	/home/ctankersley/Projects/dockerfordevs:/var/www/	
		links:	
				-	mysqlserver	
	
mysqlserver:	
		image:	mysql	
		environment:	
				MYSQL_DATABASE:	dockerfordevs	
				MYSQL_ROOT_PASSWORD:	docker	
		volumes:	
				-	/var/lib/mysql	
	
nginx:	
		build:	./docker/nginx	
		ports:	
				-	"80:80"	
				-	"443:443"	
		links:	
				-	phpserver	
SunshinePHP	2016	 54
Docker Compose in Action
SunshinePHP	2016	 55
Let’s build an application
SunshinePHP	2016	 56
The Goal
•  A	three	container	applicaVon	with	nginx,	php,	and	mysql	
•  ApplicaVon	will	read	and	write	to	the	database	
•  Can	deploy	to	a	producVon	machine	
SunshinePHP	2016	 57
Folder Structure
SunshinePHP	2016	 58
A basic docker-compose.yml
phpserver:	
		image:	php:7-fpm	
		volumes:	
				-	./application:/var/www/	
	
nginx:	
		image:	nginx	
		ports:	
				-	"80:80"	
				-	"443:443"	
		volumes:	
				-	./nginx:/etc/nginx/conf.d/	
		links:	
				-	phpserver	
SunshinePHP	2016	 59
nginx/nginx.conf
server	{	
				listen	80;	
	
				root	/var/www/html;	
				index	index.html	index.htm	index.php;	
	
				access_log	/dev/stdout;	
				error_log	/dev/stderr;	
	
				location	/	{	
								try_files	$uri	$uri/	/index.html	/index.php?$query_string;	
				}	
	
				location	~	.php$	{	
								fastcgi_split_path_info	^(.+.php)(/.+)$;	
								fastcgi_pass	phpserver:9000;	
								fastcgi_param	SCRIPT_FILENAME	$document_root$fastcgi_script_name;	
								include	fastcgi_params;	
				}	
}	
SunshinePHP	2016	 60
Hello World
<?php	
	
echo	"Hello	World";	
SunshinePHP	2016	 61
Bringing it to life
SunshinePHP	2016	 62
Adding in MySQL
phpserver:	
		image:	php:7-fpm	
		volumes:	
				-		./application:/var/www/	
		links:	
				-	mysqlserver	
	
mysqlserver:	
		image:	mysql	
		environment:	
				MYSQL_DATABASE:	dockerfordevs	
				MYSQL_ROOT_PASSWORD:	docker	
		volumes:	
				-	/var/lib/mysql	
SunshinePHP	2016	 63
Docker Compose changes aren’t
automatic
•  You	will	need	to	stop,	then	bring	the	system	again	
•  docker-compose	stop	
•  docker-compose	up	
•  Docker	Compose	will	generally	only	restart	boxes	that	have	config	
changes	
•  Docker	Compose	will	not	automaVcally	fix	links	
SunshinePHP	2016	 64
Connecting to the database
<?php	
$hostname	=	'mysqlserver';	
$database	=	'dockerfordevs';	
$user	=	'root';	
$password	=	'docker';	
$dbh	=	new	PDO('mysql:host='	.	$hostname	.	';dbname='	.	$database	.	'',	$user,	$password);	
	
echo	'Hello	World';	
SunshinePHP	2016	 65
Testing it
SunshinePHP	2016	 66
Why didn’t it work?
•  Default	PHP	images	ship	with	barely	any	extensions	enabled	by	
default	
•  We	will	need	a	custom	PHP	Image	
SunshinePHP	2016	 67
Update our docker-compose.yml
phpserver:	
		build:	./docker/php	
		volumes:	
				-		./application:/var/www/	
		links:	
				-	mysqlserver	
SunshinePHP	2016	 68
Custom Docker File
FROM	php:7-fpm	
#	Install	modules	
RUN	apt-get	update	&&	apt-get	install	-y		
								libmcrypt-dev		
				&&	docker-php-ext-install	pdo		
				&&	docker-php-ext-install	pdo_mysql	
CMD	["php-fpm"]	
SunshinePHP	2016	 69
Let’s try that again
SunshinePHP	2016	 70
Deploying
SunshinePHP	2016	 71
I can’t answer this for you
SunshinePHP	2016	 72
Questions?
SunshinePHP	2016	 73
Each situation is different
•  You	will	probably	build	something	custom,	using	exisVng	tools	
•  Do	you	use	data	volumes?	
•  Do	you	just	package	the	enVre	compiled	app?	
•  Does	it	need	to	be	distributed?	
•  Is	it	going	on	Swarm,	or	Amazon	ECS?	
SunshinePHP	2016	 74
Things to consider
•  Docker	Compose	will	only	deploy	an	app	to	one	server	
•  Docker	Swarm	is	preGy	low-level	and	bare-bones	
•  Volumes	on	Swarm	cannot	be	shared	across	hosts	
•  Host	mounVng	is	99.99999%	of	the	Vme	not	what	you	want	to	do	
SunshinePHP	2016	 75
Rancher is a good start
•  Provides	a	nice	GUI	to	manage	everything	
•  Allows	volume	sharing	and	networking	across	hosts	
•  Works	with	docker-compose.yml	files	
•  These	files	can	be	supplemented	with	environment	variables	
SunshinePHP	2016	 76
Rancher in action
SunshinePHP	2016	 77
Questions?
SunshinePHP	2016	 78
http://ctankersley.com
chris@ctankersley.com
@dragonmantank
https://joind.in/talk/c1ecb
SunshinePHP	2016	 79
1 of 79

Recommended

Docker for Developers by
Docker for DevelopersDocker for Developers
Docker for DevelopersChris Tankersley
822 views78 slides
Docker for PHP Developers (NomadPHP) by
Docker for PHP Developers (NomadPHP)Docker for PHP Developers (NomadPHP)
Docker for PHP Developers (NomadPHP)Chris Tankersley
823 views81 slides
Introduction to Containers and Docker for PHP developers by
Introduction to Containers and Docker for PHP developersIntroduction to Containers and Docker for PHP developers
Introduction to Containers and Docker for PHP developersRobert McFrazier
500 views14 slides
Docker Workshop for beginner by
Docker Workshop for beginnerDocker Workshop for beginner
Docker Workshop for beginnerJirayut Nimsaeng
3.7K views43 slides
Why Docker? Dayton PHP, April 2017 by
Why Docker? Dayton PHP, April 2017Why Docker? Dayton PHP, April 2017
Why Docker? Dayton PHP, April 2017Chris Tankersley
559 views62 slides
Deploying containers and managing them on multiple Docker hosts, Docker Meetu... by
Deploying containers and managing them on multiple Docker hosts, Docker Meetu...Deploying containers and managing them on multiple Docker hosts, Docker Meetu...
Deploying containers and managing them on multiple Docker hosts, Docker Meetu...dotCloud
17.3K views35 slides

More Related Content

What's hot

Wordcamp Bratislava 2017 - Docker! Why? by
Wordcamp Bratislava 2017 - Docker! Why?Wordcamp Bratislava 2017 - Docker! Why?
Wordcamp Bratislava 2017 - Docker! Why?Adam Štipák
380 views15 slides
Basic docker for developer by
Basic docker for developerBasic docker for developer
Basic docker for developerWeerayut Hongsa
3.6K views261 slides
Docker HK Meetup - 201707 by
Docker HK Meetup - 201707Docker HK Meetup - 201707
Docker HK Meetup - 201707Clarence Ho
995 views109 slides
Docker and DevOps --- new IT culture by
Docker and DevOps --- new IT cultureDocker and DevOps --- new IT culture
Docker and DevOps --- new IT cultureTerry Chen
748 views49 slides
Docker at Spotify - Dockercon14 by
Docker at Spotify - Dockercon14Docker at Spotify - Dockercon14
Docker at Spotify - Dockercon14dotCloud
56.7K views32 slides
Dockerize the World - presentation from Hradec Kralove by
Dockerize the World - presentation from Hradec KraloveDockerize the World - presentation from Hradec Kralove
Dockerize the World - presentation from Hradec Kralovedamovsky
6.1K views58 slides

What's hot(20)

Wordcamp Bratislava 2017 - Docker! Why? by Adam Štipák
Wordcamp Bratislava 2017 - Docker! Why?Wordcamp Bratislava 2017 - Docker! Why?
Wordcamp Bratislava 2017 - Docker! Why?
Adam Štipák380 views
Docker HK Meetup - 201707 by Clarence Ho
Docker HK Meetup - 201707Docker HK Meetup - 201707
Docker HK Meetup - 201707
Clarence Ho995 views
Docker and DevOps --- new IT culture by Terry Chen
Docker and DevOps --- new IT cultureDocker and DevOps --- new IT culture
Docker and DevOps --- new IT culture
Terry Chen748 views
Docker at Spotify - Dockercon14 by dotCloud
Docker at Spotify - Dockercon14Docker at Spotify - Dockercon14
Docker at Spotify - Dockercon14
dotCloud56.7K views
Dockerize the World - presentation from Hradec Kralove by damovsky
Dockerize the World - presentation from Hradec KraloveDockerize the World - presentation from Hradec Kralove
Dockerize the World - presentation from Hradec Kralove
damovsky6.1K views
Introduction to Docker and all things containers, Docker Meetup at RelateIQ by dotCloud
Introduction to Docker and all things containers, Docker Meetup at RelateIQIntroduction to Docker and all things containers, Docker Meetup at RelateIQ
Introduction to Docker and all things containers, Docker Meetup at RelateIQ
dotCloud2.2K views
Containers in depth – Understanding how containers work to better work with c... by All Things Open
Containers in depth – Understanding how containers work to better work with c...Containers in depth – Understanding how containers work to better work with c...
Containers in depth – Understanding how containers work to better work with c...
All Things Open81 views
How we dockerized a startup? #meetup #docker by Jonathan Martin
How we dockerized a startup? #meetup #docker How we dockerized a startup? #meetup #docker
How we dockerized a startup? #meetup #docker
Jonathan Martin6.6K views
Joomla Continuous Delivery with Docker by Jirayut Nimsaeng
Joomla Continuous Delivery with DockerJoomla Continuous Delivery with Docker
Joomla Continuous Delivery with Docker
Jirayut Nimsaeng7.7K views
Introduction to Docker by Adam Štipák
Introduction to DockerIntroduction to Docker
Introduction to Docker
Adam Štipák3.2K views
Building a smarter application Stack by Tomas Doran from Yelp by dotCloud
Building a smarter application Stack by Tomas Doran from YelpBuilding a smarter application Stack by Tomas Doran from Yelp
Building a smarter application Stack by Tomas Doran from Yelp
dotCloud166K views
DockerCon Keynote Ben Golub by dotCloud
DockerCon Keynote Ben GolubDockerCon Keynote Ben Golub
DockerCon Keynote Ben Golub
dotCloud21.4K views
Import golang; struct microservice - Codemotion Rome 2015 by Giorgio Cefaro
Import golang; struct microservice - Codemotion Rome 2015Import golang; struct microservice - Codemotion Rome 2015
Import golang; struct microservice - Codemotion Rome 2015
Giorgio Cefaro7K views
Docker for PHP Developers - ZendCon 2016 by Chris Tankersley
Docker for PHP Developers - ZendCon 2016Docker for PHP Developers - ZendCon 2016
Docker for PHP Developers - ZendCon 2016
Chris Tankersley565 views
An OpenShift Primer for Developers to get your Code into the Cloud (PTJUG) by Eric D. Schabell
An OpenShift Primer for Developers to get your Code into the Cloud (PTJUG)An OpenShift Primer for Developers to get your Code into the Cloud (PTJUG)
An OpenShift Primer for Developers to get your Code into the Cloud (PTJUG)
Eric D. Schabell4.8K views

Viewers also liked

The Dynamics of Micro-Task Crowdsourcing by
The Dynamics of Micro-Task CrowdsourcingThe Dynamics of Micro-Task Crowdsourcing
The Dynamics of Micro-Task CrowdsourcingeXascale Infolab
1.6K views41 slides
Ruleby by
RulebyRuleby
Rulebytestflyjets
3.2K views19 slides
TechTalk: All You Want to Know About Docker and CA Testing Tools. by
TechTalk: All You Want to Know About Docker and CA Testing Tools.TechTalk: All You Want to Know About Docker and CA Testing Tools.
TechTalk: All You Want to Know About Docker and CA Testing Tools.CA Technologies
488 views12 slides
Introducing Docker by
Introducing DockerIntroducing Docker
Introducing DockerFrancesco Pantano
461 views30 slides
Rules Engine - java(Drools) & ruby(ruleby) by
Rules Engine - java(Drools) & ruby(ruleby)Rules Engine - java(Drools) & ruby(ruleby)
Rules Engine - java(Drools) & ruby(ruleby)martincabrera
7.3K views20 slides
DockerCon 2016 Ecosystem - Everything You Need to Know About Docker and Stora... by
DockerCon 2016 Ecosystem - Everything You Need to Know About Docker and Stora...DockerCon 2016 Ecosystem - Everything You Need to Know About Docker and Stora...
DockerCon 2016 Ecosystem - Everything You Need to Know About Docker and Stora...ClusterHQ
813 views19 slides

Viewers also liked(20)

The Dynamics of Micro-Task Crowdsourcing by eXascale Infolab
The Dynamics of Micro-Task CrowdsourcingThe Dynamics of Micro-Task Crowdsourcing
The Dynamics of Micro-Task Crowdsourcing
eXascale Infolab1.6K views
TechTalk: All You Want to Know About Docker and CA Testing Tools. by CA Technologies
TechTalk: All You Want to Know About Docker and CA Testing Tools.TechTalk: All You Want to Know About Docker and CA Testing Tools.
TechTalk: All You Want to Know About Docker and CA Testing Tools.
CA Technologies488 views
Rules Engine - java(Drools) & ruby(ruleby) by martincabrera
Rules Engine - java(Drools) & ruby(ruleby)Rules Engine - java(Drools) & ruby(ruleby)
Rules Engine - java(Drools) & ruby(ruleby)
martincabrera7.3K views
DockerCon 2016 Ecosystem - Everything You Need to Know About Docker and Stora... by ClusterHQ
DockerCon 2016 Ecosystem - Everything You Need to Know About Docker and Stora...DockerCon 2016 Ecosystem - Everything You Need to Know About Docker and Stora...
DockerCon 2016 Ecosystem - Everything You Need to Know About Docker and Stora...
ClusterHQ813 views
WebLogic im Docker Container by Andreas Koop
WebLogic im Docker ContainerWebLogic im Docker Container
WebLogic im Docker Container
Andreas Koop12.5K views
Immutable infrastructure with Docker and EC2 by dotCloud
Immutable infrastructure with Docker and EC2Immutable infrastructure with Docker and EC2
Immutable infrastructure with Docker and EC2
dotCloud57.8K views
Docker (Compose) 활용 - 개발 환경 구성하기 by raccoony
Docker (Compose) 활용 - 개발 환경 구성하기Docker (Compose) 활용 - 개발 환경 구성하기
Docker (Compose) 활용 - 개발 환경 구성하기
raccoony 126.7K views
Php development with Docker by Michael Bui
Php development with DockerPhp development with Docker
Php development with Docker
Michael Bui364 views
Engine lab software hybrid cloud specialists by John Rowan
Engine lab software hybrid cloud specialistsEngine lab software hybrid cloud specialists
Engine lab software hybrid cloud specialists
John Rowan498 views
Information Design Web Planning Mockup by ANGELA Smithers
Information Design Web Planning MockupInformation Design Web Planning Mockup
Information Design Web Planning Mockup
ANGELA Smithers507 views
Microservices without Servers by Dev_Events
Microservices without ServersMicroservices without Servers
Microservices without Servers
Dev_Events259 views
Docker for Developers - PNWPHP 2016 Workshop by Chris Tankersley
Docker for Developers - PNWPHP 2016 WorkshopDocker for Developers - PNWPHP 2016 Workshop
Docker for Developers - PNWPHP 2016 Workshop
Chris Tankersley686 views
NTR Lab - bespoke software development in Russia by Olessya
NTR Lab - bespoke software development in RussiaNTR Lab - bespoke software development in Russia
NTR Lab - bespoke software development in Russia
Olessya1.1K views
2013 Social Admissions Report by Uversity, Inc.
 2013 Social Admissions Report   2013 Social Admissions Report
2013 Social Admissions Report
Uversity, Inc.1K views
component based softwrae engineering Cbse by Sravs Dals
component based softwrae engineering Cbsecomponent based softwrae engineering Cbse
component based softwrae engineering Cbse
Sravs Dals837 views

Similar to Docker for developers

Dockerize All The Things by
Dockerize All The ThingsDockerize All The Things
Dockerize All The ThingsChris Tankersley
1.7K views39 slides
Docker for dev by
Docker for devDocker for dev
Docker for devErik Talboom
184 views45 slides
Docker for PHP Developers - Jetbrains by
Docker for PHP Developers - JetbrainsDocker for PHP Developers - Jetbrains
Docker for PHP Developers - JetbrainsChris Tankersley
9.1K views82 slides
Rami Sayar - Node microservices with Docker by
Rami Sayar - Node microservices with DockerRami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with DockerWeb à Québec
810 views53 slides
Free Mongo on OpenShift by
Free Mongo on OpenShiftFree Mongo on OpenShift
Free Mongo on OpenShiftSteven Pousty
1.5K views33 slides
Why to docker by
Why to dockerWhy to docker
Why to dockerKarthik Gaekwad
14.9K views29 slides

Similar to Docker for developers(20)

Docker for PHP Developers - Jetbrains by Chris Tankersley
Docker for PHP Developers - JetbrainsDocker for PHP Developers - Jetbrains
Docker for PHP Developers - Jetbrains
Chris Tankersley9.1K views
Rami Sayar - Node microservices with Docker by Web à Québec
Rami Sayar - Node microservices with DockerRami Sayar - Node microservices with Docker
Rami Sayar - Node microservices with Docker
Web à Québec810 views
Free Mongo on OpenShift by Steven Pousty
Free Mongo on OpenShiftFree Mongo on OpenShift
Free Mongo on OpenShift
Steven Pousty1.5K views
Docker - HieuHoang by Hieu Hoang
Docker - HieuHoangDocker - HieuHoang
Docker - HieuHoang
Hieu Hoang31 views
Containers, microservices and serverless for realists by Karthik Gaekwad
Containers, microservices and serverless for realistsContainers, microservices and serverless for realists
Containers, microservices and serverless for realists
Karthik Gaekwad77.3K views
Docker & aPaaS: Enterprise Innovation and Trends for 2015 by WaveMaker, Inc.
Docker & aPaaS: Enterprise Innovation and Trends for 2015Docker & aPaaS: Enterprise Innovation and Trends for 2015
Docker & aPaaS: Enterprise Innovation and Trends for 2015
WaveMaker, Inc.6K views
Containers and Microservices for Realists by Oracle Developers
Containers and Microservices for RealistsContainers and Microservices for Realists
Containers and Microservices for Realists
Oracle Developers1.7K views
Containers and microservices for realists by Karthik Gaekwad
Containers and microservices for realistsContainers and microservices for realists
Containers and microservices for realists
Karthik Gaekwad2.2K views
Red Hat Openshift Fundamentals.pptx by ssuser18b1c6
Red Hat Openshift Fundamentals.pptxRed Hat Openshift Fundamentals.pptx
Red Hat Openshift Fundamentals.pptx
ssuser18b1c677 views
Whales, Clouds, and Bubbles...? by Mary Anthony
Whales, Clouds, and Bubbles...?Whales, Clouds, and Bubbles...?
Whales, Clouds, and Bubbles...?
Mary Anthony562 views
Kubernetes is all you need by Vishwas N
Kubernetes is all you needKubernetes is all you need
Kubernetes is all you need
Vishwas N114 views

More from Chris Tankersley

Docker is Dead: Long Live Containers by
Docker is Dead: Long Live ContainersDocker is Dead: Long Live Containers
Docker is Dead: Long Live ContainersChris Tankersley
53 views52 slides
Bend time to your will with git by
Bend time to your will with gitBend time to your will with git
Bend time to your will with gitChris Tankersley
194 views73 slides
Using PHP Functions! (Not those functions, Google Cloud Functions) by
Using PHP Functions! (Not those functions, Google Cloud Functions)Using PHP Functions! (Not those functions, Google Cloud Functions)
Using PHP Functions! (Not those functions, Google Cloud Functions)Chris Tankersley
177 views72 slides
Dead Simple APIs with OpenAPI by
Dead Simple APIs with OpenAPIDead Simple APIs with OpenAPI
Dead Simple APIs with OpenAPIChris Tankersley
311 views63 slides
Killer Docker Workflows for Development by
Killer Docker Workflows for DevelopmentKiller Docker Workflows for Development
Killer Docker Workflows for DevelopmentChris Tankersley
159 views64 slides
You Got Async in my PHP! by
You Got Async in my PHP!You Got Async in my PHP!
You Got Async in my PHP!Chris Tankersley
164 views140 slides

More from Chris Tankersley(20)

Using PHP Functions! (Not those functions, Google Cloud Functions) by Chris Tankersley
Using PHP Functions! (Not those functions, Google Cloud Functions)Using PHP Functions! (Not those functions, Google Cloud Functions)
Using PHP Functions! (Not those functions, Google Cloud Functions)
Chris Tankersley177 views
Killer Docker Workflows for Development by Chris Tankersley
Killer Docker Workflows for DevelopmentKiller Docker Workflows for Development
Killer Docker Workflows for Development
Chris Tankersley159 views
Docker for Developers - PHP Detroit 2018 by Chris Tankersley
Docker for Developers - PHP Detroit 2018Docker for Developers - PHP Detroit 2018
Docker for Developers - PHP Detroit 2018
Chris Tankersley865 views
BASHing at the CLI - Midwest PHP 2018 by Chris Tankersley
BASHing at the CLI - Midwest PHP 2018BASHing at the CLI - Midwest PHP 2018
BASHing at the CLI - Midwest PHP 2018
Chris Tankersley363 views
Docker for PHP Developers - php[world] 2017 by Chris Tankersley
Docker for PHP Developers - php[world] 2017Docker for PHP Developers - php[world] 2017
Docker for PHP Developers - php[world] 2017
Chris Tankersley821 views
Docker for PHP Developers - Madison PHP 2017 by Chris Tankersley
Docker for PHP Developers - Madison PHP 2017Docker for PHP Developers - Madison PHP 2017
Docker for PHP Developers - Madison PHP 2017
Chris Tankersley1.7K views
Docker for Developers - php[tek] 2017 by Chris Tankersley
Docker for Developers - php[tek] 2017Docker for Developers - php[tek] 2017
Docker for Developers - php[tek] 2017
Chris Tankersley1.1K views
OOP Is More Then Cars and Dogs - Midwest PHP 2017 by Chris Tankersley
OOP Is More Then Cars and Dogs - Midwest PHP 2017OOP Is More Then Cars and Dogs - Midwest PHP 2017
OOP Is More Then Cars and Dogs - Midwest PHP 2017
Chris Tankersley608 views
From Docker to Production - SunshinePHP 2017 by Chris Tankersley
From Docker to Production - SunshinePHP 2017From Docker to Production - SunshinePHP 2017
From Docker to Production - SunshinePHP 2017
Chris Tankersley853 views
Docker for Developers - Sunshine PHP by Chris Tankersley
Docker for Developers - Sunshine PHPDocker for Developers - Sunshine PHP
Docker for Developers - Sunshine PHP
Chris Tankersley812 views
Coming to Terms with OOP In Drupal - php[world] 2016 by Chris Tankersley
Coming to Terms with OOP In Drupal - php[world] 2016Coming to Terms with OOP In Drupal - php[world] 2016
Coming to Terms with OOP In Drupal - php[world] 2016
Chris Tankersley387 views
How We Got Here: A Brief History of Open Source by Chris Tankersley
How We Got Here: A Brief History of Open SourceHow We Got Here: A Brief History of Open Source
How We Got Here: A Brief History of Open Source
Chris Tankersley382 views
From Docker to Production - ZendCon 2016 by Chris Tankersley
From Docker to Production - ZendCon 2016From Docker to Production - ZendCon 2016
From Docker to Production - ZendCon 2016
Chris Tankersley399 views

Recently uploaded

Ransomware is Knocking your Door_Final.pdf by
Ransomware is Knocking your Door_Final.pdfRansomware is Knocking your Door_Final.pdf
Ransomware is Knocking your Door_Final.pdfSecurity Bootcamp
76 views46 slides
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue by
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlueCloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlueShapeBlue
46 views15 slides
Business Analyst Series 2023 - Week 3 Session 5 by
Business Analyst Series 2023 -  Week 3 Session 5Business Analyst Series 2023 -  Week 3 Session 5
Business Analyst Series 2023 - Week 3 Session 5DianaGray10
369 views20 slides
Data Integrity for Banking and Financial Services by
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial ServicesPrecisely
56 views26 slides
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ... by
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...Jasper Oosterveld
28 views49 slides
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T by
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&TCloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&TShapeBlue
56 views34 slides

Recently uploaded(20)

CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue by ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlueCloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
ShapeBlue46 views
Business Analyst Series 2023 - Week 3 Session 5 by DianaGray10
Business Analyst Series 2023 -  Week 3 Session 5Business Analyst Series 2023 -  Week 3 Session 5
Business Analyst Series 2023 - Week 3 Session 5
DianaGray10369 views
Data Integrity for Banking and Financial Services by Precisely
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial Services
Precisely56 views
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ... by Jasper Oosterveld
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T by ShapeBlue
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&TCloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
ShapeBlue56 views
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue by ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueWhat’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
ShapeBlue131 views
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院 by IttrainingIttraining
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT by ShapeBlue
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBITUpdates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
Updates on the LINSTOR Driver for CloudStack - Rene Peinthor - LINBIT
ShapeBlue91 views
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R... by ShapeBlue
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
ShapeBlue54 views
Why and How CloudStack at weSystems - Stephan Bienek - weSystems by ShapeBlue
Why and How CloudStack at weSystems - Stephan Bienek - weSystemsWhy and How CloudStack at weSystems - Stephan Bienek - weSystems
Why and How CloudStack at weSystems - Stephan Bienek - weSystems
ShapeBlue111 views
Business Analyst Series 2023 - Week 4 Session 7 by DianaGray10
Business Analyst Series 2023 -  Week 4 Session 7Business Analyst Series 2023 -  Week 4 Session 7
Business Analyst Series 2023 - Week 4 Session 7
DianaGray1080 views
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ... by ShapeBlue
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
ShapeBlue65 views
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P... by ShapeBlue
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
ShapeBlue82 views
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue by ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueElevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
ShapeBlue96 views
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti... by ShapeBlue
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
ShapeBlue46 views
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... by TrustArc
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc77 views

Docker for developers