SlideShare a Scribd company logo
Docker for Developers
Chris	Tankersley	
@dragonmantank	
Lonestar	PHP	2016	
Lonestar	PHP	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	
Lonestar	PHP	2016	 2
Docker
Lonestar	PHP	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.”	
Lonestar	PHP	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	
Lonestar	PHP	2016	 5
Containers
Lonestar	PHP	2016	 6
Normal Bare-Metal Server
Lonestar	PHP	2016	 7	
CPU	 RAM	 HD	 Network	
OperaVng	System	
nginx	 PHP	 DB
Virtual Machines
Lonestar	PHP	2016	 8	
CPU	 RAM	 HD	 Network	
OperaVng	System	
nginx	 PHP	 DB	
OperaVng	System	
nginx	 PHP	 DB	
OperaVng	System	
Hypervisor
Containers
Lonestar	PHP	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	
Lonestar	PHP	2016	 10
Runs on *nix and Windows Hyper-V
•  No	naVve	container	drivers	for	OSX*	
•  Amazon	has	ElasVc	Container	Service,	and	Microsok	Azure	has	Azure	
Container	Service	
Lonestar	PHP	2016	 11
Sorry OSX Users
•  Docker	support	is	officially	maintained	through	Docker	Toolbox	
Lonestar	PHP	2016	 12
Docker Toolbox also is for Windows
Lonestar	PHP	2016	 13
Let’s use Docker
Lonestar	PHP	2016	 14
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	
Lonestar	PHP	2016	 15
Running a simple shell
Lonestar	PHP	2016	 16
Running Two Webservers
Lonestar	PHP	2016	 17
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	
Lonestar	PHP	2016	 18
Volumes
Lonestar	PHP	2016	 19
Modifying a running container
•  `docker	exec`	can	run	a	command	inside	of	an	exisVng	container	
•  Use	Volumes	to	share	data	
Lonestar	PHP	2016	 20
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	
Lonestar	PHP	2016	 21
Mounting from the host machine
Lonestar	PHP	2016	 22
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	
Lonestar	PHP	2016	 23
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	
Lonestar	PHP	2016	 24
Mounting Data Volumes
Lonestar	PHP	2016	 25
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	
Lonestar	PHP	2016	 26
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	
Lonestar	PHP	2016	 27
Network Linking
Lonestar	PHP	2016	 28
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	
Lonestar	PHP	2016	 29
More Traditional Setup
Lonestar	PHP	2016	 30	
INTARWEBS	 Nginx		 PHP-FPM	
Data	Volume	
Port	9000	
Editor
Let’s Build It
Lonestar	PHP	2016	 31
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	
Lonestar	PHP	2016	 32
Creating your own Images
Lonestar	PHP	2016	 33
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	
Lonestar	PHP	2016	 34
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/*	
Lonestar	PHP	2016	 35
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	
Lonestar	PHP	2016	 36
Other Helpful Commands
Lonestar	PHP	2016	 37
Inspect a container
docker	inspect	[opVons]	CONTAINER_NAME	
•  Returns	a	JSON	string	with	data	about	the	container	
•  Can	also	query	
•  docker	inspect	-f	“{{	.NetworkSe{ngs.IPAddres	}}”	web_server	
•  Really	handy	for	scripVng	out	things	like	reverse	proxies	
Lonestar	PHP	2016	 38
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	
Lonestar	PHP	2016	 39
Docker Machine
Lonestar	PHP	2016	 40
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	
Lonestar	PHP	2016	 41
Creating a new machine
Lonestar	PHP	2016	 42
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	
Lonestar	PHP	2016	 43
Docker Swarm
Lonestar	PHP	2016	 44
What is Docker Swarm?
•  Cluster	management	tool	developed	by	Docker	
•  Looks	like	a	machine	running	docker,	but	is	actually	many	machines	
Lonestar	PHP	2016	 45
Create a Swarm token
$	docker	run	--rm	swarm	create	2		
//...	
340122bb69c98825b4ac7094c87a07e21		
	
Lonestar	PHP	2016	 46
Create a Swarm Master
$	docker-machine	create	-d	virtualbox			
				--swarm			
				--swarm-master			
				--swarm-discovery	token://40122bb69c98825b4ac7094c87a07e21			
				swarm-master		
	
Lonestar	PHP	2016	 47
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	
	 Lonestar	PHP	2016	 48
Switch to the master
eval	$(docker-machine	env	--swarm	swarm-master)		
	
Lonestar	PHP	2016	 49
Add some containers
Lonestar	PHP	2016	 50
Docker Compose
Lonestar	PHP	2016	 51
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	
Lonestar	PHP	2016	 52
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	
Lonestar	PHP	2016	 53
Docker Compose in Action
Lonestar	PHP	2016	 54
Let’s build an application
Lonestar	PHP	2016	 55
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	
Lonestar	PHP	2016	 56
Folder Structure
Lonestar	PHP	2016	 57
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	
Lonestar	PHP	2016	 58
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;	
				}	
}	
Lonestar	PHP	2016	 59
Hello World
<?php	
	
echo	"Hello	World";	
Lonestar	PHP	2016	 60
Bringing it to life
Lonestar	PHP	2016	 61
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	
Lonestar	PHP	2016	 62
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	
Lonestar	PHP	2016	 63
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';	
Lonestar	PHP	2016	 64
Testing it
Lonestar	PHP	2016	 65
Why didn’t it work?
•  Default	PHP	images	ship	with	barely	any	extensions	enabled	by	
default	
•  We	will	need	a	custom	PHP	Image	
Lonestar	PHP	2016	 66
Update our docker-compose.yml
phpserver:	
		build:	./docker/php	
		volumes:	
				-		./application:/var/www/	
		links:	
				-	mysqlserver	
Lonestar	PHP	2016	 67
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"]	
Lonestar	PHP	2016	 68
Let’s try that again
Lonestar	PHP	2016	 69
Deploying
Lonestar	PHP	2016	 70
I can’t answer this for you
Lonestar	PHP	2016	 71	
¯_(ツ)_/¯
Questions?
Lonestar	PHP	2016	 72
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?	
Lonestar	PHP	2016	 73
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	
Lonestar	PHP	2016	 74
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	
Lonestar	PHP	2016	 75
Rancher in action
Lonestar	PHP	2016	 76
Questions?
Lonestar	PHP	2016	 77
http://ctankersley.com
chris@ctankersley.com
@dragonmantank
https://joind.in/talk/2d8b6
Lonestar	PHP	2016	 78

More Related Content

PDF
Docker for developers
PDF
Docker for PHP Developers (NomadPHP)
PDF
Introduction to Containers and Docker for PHP developers
ODP
Why Docker? Dayton PHP, April 2017
PPTX
Docker - 15 great Tutorials
PDF
Deploying containers and managing them on multiple Docker hosts, Docker Meetu...
PDF
Docker Workshop for beginner
PDF
Basic docker for developer
Docker for developers
Docker for PHP Developers (NomadPHP)
Introduction to Containers and Docker for PHP developers
Why Docker? Dayton PHP, April 2017
Docker - 15 great Tutorials
Deploying containers and managing them on multiple Docker hosts, Docker Meetu...
Docker Workshop for beginner
Basic docker for developer

What's hot (20)

PDF
Wordcamp Bratislava 2017 - Docker! Why?
PDF
Introduction to Docker and all things containers, Docker Meetup at RelateIQ
PPTX
Dockerize the World - presentation from Hradec Kralove
PDF
Docker at Spotify - Dockercon14
PDF
Docker workshop
ODP
Build a PaaS with OpenShift Origin
PDF
Building a smarter application Stack by Tomas Doran from Yelp
PDF
Containers in depth – Understanding how containers work to better work with c...
PPTX
DockerCon Keynote Ben Golub
PDF
PDF
Docker and DevOps --- new IT culture
PDF
Docker - introduction
PDF
How we dockerized a startup? #meetup #docker
ODP
An OpenShift Primer for Developers to get your Code into the Cloud (PTJUG)
PPTX
Docker for PHP Developers - ZendCon 2016
PDF
Joomla Continuous Delivery with Docker
PDF
Introduction to Docker
PPTX
Learn docker in 90 minutes
PDF
Docker Introduction + what is new in 0.9
PDF
Developer workflow with docker
Wordcamp Bratislava 2017 - Docker! Why?
Introduction to Docker and all things containers, Docker Meetup at RelateIQ
Dockerize the World - presentation from Hradec Kralove
Docker at Spotify - Dockercon14
Docker workshop
Build a PaaS with OpenShift Origin
Building a smarter application Stack by Tomas Doran from Yelp
Containers in depth – Understanding how containers work to better work with c...
DockerCon Keynote Ben Golub
Docker and DevOps --- new IT culture
Docker - introduction
How we dockerized a startup? #meetup #docker
An OpenShift Primer for Developers to get your Code into the Cloud (PTJUG)
Docker for PHP Developers - ZendCon 2016
Joomla Continuous Delivery with Docker
Introduction to Docker
Learn docker in 90 minutes
Docker Introduction + what is new in 0.9
Developer workflow with docker
Ad

Viewers also liked (20)

PDF
Introducing Docker
PDF
A Hands-on Introduction to Docker
PDF
Docker 101: Introduction to Docker
PPTX
Docker with devops program
PPTX
ASP.NET and Docker
PPTX
Docker with devops program
PPTX
Docker for .NET Developers
PDF
Docker
PDF
Docker and Containers for Development and Deployment — SCALE12X
PDF
Docker, the Future of DevOps
PPTX
Getting Started with Docker
PDF
Docker volume
PPTX
Docker Roadshow 2016
PPTX
The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...
PPTX
Docker and Microsoft - Windows Server 2016 Technical Deep Dive
PDF
Docker London: Container Security
PPTX
Why Docker
PPTX
Docker introduction
PPTX
Docker 101 - Nov 2016
PPTX
Docker Online Meetup: Announcing Docker CE + EE
Introducing Docker
A Hands-on Introduction to Docker
Docker 101: Introduction to Docker
Docker with devops program
ASP.NET and Docker
Docker with devops program
Docker for .NET Developers
Docker
Docker and Containers for Development and Deployment — SCALE12X
Docker, the Future of DevOps
Getting Started with Docker
Docker volume
Docker Roadshow 2016
The Tale of a Docker-based Continuous Delivery Pipeline by Rafe Colton (ModCl...
Docker and Microsoft - Windows Server 2016 Technical Deep Dive
Docker London: Container Security
Why Docker
Docker introduction
Docker 101 - Nov 2016
Docker Online Meetup: Announcing Docker CE + EE
Ad

Similar to Docker for Developers (20)

PDF
Dockerize All The Things
PDF
Docker for dev
PPTX
Docker for PHP Developers - Jetbrains
PDF
Rami Sayar - Node microservices with Docker
PDF
Docker for Drupal development
PPTX
Docker for Developers - PNWPHP 2016 Workshop
PPTX
NYC Identity Summit Tech Day: ForgeRock DevOps/Cloud Strategy
PDF
Introduction to Containers and Docker for PHP developers
PPTX
Free Mongo on OpenShift
PDF
An introduction to contianers and Docker for PHP developers
PDF
PHPIDOL#80: Kubernetes 101 for PHP Developer. Yusuf Hadiwinata - VP Operation...
PPTX
Containers and Docker
PPTX
Docker - HieuHoang
PDF
Docker for developers
PDF
Docker for developers
PDF
DEVOPS UNIT 4 docker and services commands
PPTX
Why to docker
PDF
PHPKonf Istanbul 2016 - From development to production with Docker Datacenter
PDF
Killer Docker Workflows for Development
PPTX
Introduction To Docker, Docker Compose, Docker Swarm
Dockerize All The Things
Docker for dev
Docker for PHP Developers - Jetbrains
Rami Sayar - Node microservices with Docker
Docker for Drupal development
Docker for Developers - PNWPHP 2016 Workshop
NYC Identity Summit Tech Day: ForgeRock DevOps/Cloud Strategy
Introduction to Containers and Docker for PHP developers
Free Mongo on OpenShift
An introduction to contianers and Docker for PHP developers
PHPIDOL#80: Kubernetes 101 for PHP Developer. Yusuf Hadiwinata - VP Operation...
Containers and Docker
Docker - HieuHoang
Docker for developers
Docker for developers
DEVOPS UNIT 4 docker and services commands
Why to docker
PHPKonf Istanbul 2016 - From development to production with Docker Datacenter
Killer Docker Workflows for Development
Introduction To Docker, Docker Compose, Docker Swarm

More from Chris Tankersley (20)

PDF
8 Rules for Better Applications - PHP Tek 2025
PDF
The Art of API Design - PHP Tek 2025, Chris Tankersley
PDF
Docker is Dead: Long Live Containers
PDF
Bend time to your will with git
PDF
Using PHP Functions! (Not those functions, Google Cloud Functions)
PDF
Dead Simple APIs with OpenAPI
PDF
You Got Async in my PHP!
ODP
Docker for Developers - PHP Detroit 2018
ODP
Docker for Developers
ODP
They are Watching You
ODP
BASHing at the CLI - Midwest PHP 2018
PDF
You Were Lied To About Optimization
ODP
Docker for PHP Developers - php[world] 2017
ODP
Docker for PHP Developers - Madison PHP 2017
ODP
Docker for Developers - php[tek] 2017
PPTX
OOP Is More Then Cars and Dogs - Midwest PHP 2017
PPTX
From Docker to Production - SunshinePHP 2017
PPTX
Docker for Developers - Sunshine PHP
PPTX
Coming to Terms with OOP In Drupal - php[world] 2016
PPTX
How We Got Here: A Brief History of Open Source
8 Rules for Better Applications - PHP Tek 2025
The Art of API Design - PHP Tek 2025, Chris Tankersley
Docker is Dead: Long Live Containers
Bend time to your will with git
Using PHP Functions! (Not those functions, Google Cloud Functions)
Dead Simple APIs with OpenAPI
You Got Async in my PHP!
Docker for Developers - PHP Detroit 2018
Docker for Developers
They are Watching You
BASHing at the CLI - Midwest PHP 2018
You Were Lied To About Optimization
Docker for PHP Developers - php[world] 2017
Docker for PHP Developers - Madison PHP 2017
Docker for Developers - php[tek] 2017
OOP Is More Then Cars and Dogs - Midwest PHP 2017
From Docker to Production - SunshinePHP 2017
Docker for Developers - Sunshine PHP
Coming to Terms with OOP In Drupal - php[world] 2016
How We Got Here: A Brief History of Open Source

Recently uploaded (20)

PDF
Machine learning based COVID-19 study performance prediction
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
sap open course for s4hana steps from ECC to s4
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Encapsulation theory and applications.pdf
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
KodekX | Application Modernization Development
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Spectroscopy.pptx food analysis technology
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Empathic Computing: Creating Shared Understanding
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
Machine learning based COVID-19 study performance prediction
Mobile App Security Testing_ A Comprehensive Guide.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
MIND Revenue Release Quarter 2 2025 Press Release
sap open course for s4hana steps from ECC to s4
“AI and Expert System Decision Support & Business Intelligence Systems”
MYSQL Presentation for SQL database connectivity
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Encapsulation theory and applications.pdf
Programs and apps: productivity, graphics, security and other tools
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
KodekX | Application Modernization Development
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Spectroscopy.pptx food analysis technology
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Network Security Unit 5.pdf for BCA BBA.
Digital-Transformation-Roadmap-for-Companies.pptx
Empathic Computing: Creating Shared Understanding
Building Integrated photovoltaic BIPV_UPV.pdf

Docker for Developers