SlideShare a Scribd company logo
1 of 39
Download to read offline
Dockerize All The Things!
Chris Tankersley
@dragonmantank
SunshinePHP 2015
SunshinePHP 2015 1
Who Am I
โ€ข PHP Programmer for over 10 years
โ€ข Sysadmin/DevOps for around 8 years
โ€ข Using Linux for more than 15 years
โ€ข https://github.com/dragonmantank
SunshinePHP 2015 2
Docker
SunshinePHP 2015 3
What Is Docker?
โ€œDocker is an open platform for developers and sysadmins to build,
ship, and run distributed applications. Consisting of Docker Engine, a
portable, lightweight runtime and packaging tool, and Docker Hub, a
cloud service for sharing applications and automating workflows,
Docker enables apps to be quickly assembled from components and
eliminates the friction between development, QA, and production
environments.โ€
SunshinePHP 2015 4
https://www.docker.com/whatisdocker/
What is it from a technical standpoint?
โ€ข Docker is a wrapper around Containers
โ€ข Docker Engine is the packaging portion 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 multi-container build system
SunshinePHP 2015 5
Containers
SunshinePHP 2015 6
Normal Bare-Metal Server
SunshinePHP 2015 7
CPU RAM HD Network
Operating System
nginx PHP DB
Virtual Machines
SunshinePHP 2015 8
CPU RAM HD Network
Operating System
nginx PHP DB
Operating System
nginx PHP DB
Operating System
Hypervisor
Containers
SunshinePHP 2015 9
CPU RAM HD Network
Operating System
nginxnginx 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 2015 10
Still regulated to Linux, BSD, and Solaris
โ€ข No native container drivers for OSX or Windows, as they donโ€™t have
their own container architecture
โ€ข Microsoft is helping with working on a Hyper-V container driver
though
โ€ข I donโ€™t think there is anything native planned for OSX
SunshinePHP 2015 11
Letโ€™s use Docker
SunshinePHP 2015 12
Running a container
โ€ข `docker run` will run a container
โ€ข This will not restart an existing container, just create a new one
โ€ข docker run [options] IMAGE [command] [arguments]
โ€ข [options ]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 2015 13
Running a simple shell
SunshinePHP 2015 14
Running Two Webservers
SunshinePHP 2015 15
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 interactive mode
โ€ข --name โ€“ Give the container a name
โ€ข -p [local port]:[container port] โ€“ Forward the local port to the container port
SunshinePHP 2015 16
Volumes
SunshinePHP 2015 17
Modifying a running container
โ€ข `docker exec` can run a command inside of an existing container
โ€ข Use Volumes to share data
SunshinePHP 2015 18
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 2015 19
Mounting from the host machine
SunshinePHP 2015 20
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
SunshinePHP 2015 21
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 2015 22
Mounting Data Volumes
SunshinePHP 2015 23
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 2015 24
Why go through the hassle?
โ€ข Data volumes are portable
โ€ข Data volumes are safer
โ€ข Separates the app containers from data
โ€ข Production can use a data volume, dev can use a host volume
โ€ข Our app containers stay small
SunshinePHP 2015 25
Network Linking
SunshinePHP 2015 26
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
SunshinePHP 2015 27
More Traditional Setup
SunshinePHP 2015 28
INTARWEBS Nginx PHP-FPM
Data Volume
Port 9000
Editor
Letโ€™s Build It
SunshinePHP 2015 29
More Notes!
โ€ข We can now rebuild sections of the app as needed
โ€ข We can restart nginx without impacting 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 2015 30
Creating your own Images
SunshinePHP 2015 31
Dockerfile
โ€ข Dockerfile is the configuration 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 2015 32
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 2015 33
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 2015 34
Other Helpful Commands
SunshinePHP 2015 35
Inspect a container
docker inspect [options] CONTAINER_NAME
โ€ข Returns a JSON string with data about the container
โ€ข Can also query
โ€ข docker inspect -f โ€œ{{ .NetworkSettings.IPAddres }}โ€ web_server
โ€ข Really handy for scripting out things like reverse proxies
SunshinePHP 2015 36
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 2015 37
Questions?
SunshinePHP 2015 38
http://ctankersley.com
chris@ctankersley.com
@dragonmantank
https://joind.in/13464
SunshinePHP 2015 39

More Related Content

What's hot

Puppet control-repo โ€จto the next level
Puppet control-repo โ€จto the next levelPuppet control-repo โ€จto the next level
Puppet control-repo โ€จto the next levelAlessandro Franceschi
ย 
Docker for PHP Developers - ZendCon 2016
Docker for PHP Developers - ZendCon 2016Docker for PHP Developers - ZendCon 2016
Docker for PHP Developers - ZendCon 2016Chris Tankersley
ย 
Using Capifony for Symfony apps deployment (updated)
Using Capifony for Symfony apps deployment (updated)Using Capifony for Symfony apps deployment (updated)
Using Capifony for Symfony apps deployment (updated)ลฝilvinas Kuusas
ย 
How to deploy PHP projects with docker
How to deploy PHP projects with dockerHow to deploy PHP projects with docker
How to deploy PHP projects with dockerRuoshi Ling
ย 
Linux containers and docker
Linux containers and dockerLinux containers and docker
Linux containers and dockerFabio Fumarola
ย 
Managing Puppet using MCollective
Managing Puppet using MCollectiveManaging Puppet using MCollective
Managing Puppet using MCollectivePuppet
ย 
Deploying Symfony2 app with Ansible
Deploying Symfony2 app with AnsibleDeploying Symfony2 app with Ansible
Deploying Symfony2 app with AnsibleRoman Rodomansky
ย 
Puppet camp london nov 2014 slides (1)
Puppet camp london nov 2014   slides (1)Puppet camp london nov 2014   slides (1)
Puppet camp london nov 2014 slides (1)Puppet
ย 
Puppet getting started by Dirk Gรถtz
Puppet getting started by Dirk GรถtzPuppet getting started by Dirk Gรถtz
Puppet getting started by Dirk GรถtzNETWAYS
ย 
Puppet modules: A Holistic Approach - Geneva
Puppet modules: A Holistic Approach - GenevaPuppet modules: A Holistic Approach - Geneva
Puppet modules: A Holistic Approach - GenevaAlessandro Franceschi
ย 
Whirlwind Tour of Puppet 4
Whirlwind Tour of Puppet 4Whirlwind Tour of Puppet 4
Whirlwind Tour of Puppet 4ripienaar
ย 
Apache development with GitHub and Travis CI
Apache development with GitHub and Travis CIApache development with GitHub and Travis CI
Apache development with GitHub and Travis CIJukka Zitting
ย 
Puppet Availability and Performance at 100K Nodes - PuppetConf 2014
Puppet Availability and Performance at 100K Nodes - PuppetConf 2014Puppet Availability and Performance at 100K Nodes - PuppetConf 2014
Puppet Availability and Performance at 100K Nodes - PuppetConf 2014Puppet
ย 
Puppet fundamentals
Puppet fundamentalsPuppet fundamentals
Puppet fundamentalsMurali Boyapati
ย 
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 chefLeanDog
ย 
Puppet at Pinterest
Puppet at PinterestPuppet at Pinterest
Puppet at PinterestPuppet
ย 
Puppet Performance Profiling
Puppet Performance ProfilingPuppet Performance Profiling
Puppet Performance Profilingripienaar
ย 
Puppet at GitHub / ChatOps
Puppet at GitHub / ChatOpsPuppet at GitHub / ChatOps
Puppet at GitHub / ChatOpsPuppet
ย 

What's hot (20)

Puppet control-repo โ€จto the next level
Puppet control-repo โ€จto the next levelPuppet control-repo โ€จto the next level
Puppet control-repo โ€จto the next level
ย 
Docker for PHP Developers - ZendCon 2016
Docker for PHP Developers - ZendCon 2016Docker for PHP Developers - ZendCon 2016
Docker for PHP Developers - ZendCon 2016
ย 
Using Capifony for Symfony apps deployment (updated)
Using Capifony for Symfony apps deployment (updated)Using Capifony for Symfony apps deployment (updated)
Using Capifony for Symfony apps deployment (updated)
ย 
How to deploy PHP projects with docker
How to deploy PHP projects with dockerHow to deploy PHP projects with docker
How to deploy PHP projects with docker
ย 
3 Git
3 Git3 Git
3 Git
ย 
Linux containers and docker
Linux containers and dockerLinux containers and docker
Linux containers and docker
ย 
Managing Puppet using MCollective
Managing Puppet using MCollectiveManaging Puppet using MCollective
Managing Puppet using MCollective
ย 
Deploying Symfony2 app with Ansible
Deploying Symfony2 app with AnsibleDeploying Symfony2 app with Ansible
Deploying Symfony2 app with Ansible
ย 
Puppet camp london nov 2014 slides (1)
Puppet camp london nov 2014   slides (1)Puppet camp london nov 2014   slides (1)
Puppet camp london nov 2014 slides (1)
ย 
Puppet getting started by Dirk Gรถtz
Puppet getting started by Dirk GรถtzPuppet getting started by Dirk Gรถtz
Puppet getting started by Dirk Gรถtz
ย 
Puppet modules: A Holistic Approach - Geneva
Puppet modules: A Holistic Approach - GenevaPuppet modules: A Holistic Approach - Geneva
Puppet modules: A Holistic Approach - Geneva
ย 
Whirlwind Tour of Puppet 4
Whirlwind Tour of Puppet 4Whirlwind Tour of Puppet 4
Whirlwind Tour of Puppet 4
ย 
Apache development with GitHub and Travis CI
Apache development with GitHub and Travis CIApache development with GitHub and Travis CI
Apache development with GitHub and Travis CI
ย 
Puppet Availability and Performance at 100K Nodes - PuppetConf 2014
Puppet Availability and Performance at 100K Nodes - PuppetConf 2014Puppet Availability and Performance at 100K Nodes - PuppetConf 2014
Puppet Availability and Performance at 100K Nodes - PuppetConf 2014
ย 
Puppet fundamentals
Puppet fundamentalsPuppet fundamentals
Puppet fundamentals
ย 
Tp install anything
Tp install anythingTp install anything
Tp install anything
ย 
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
ย 
Puppet at Pinterest
Puppet at PinterestPuppet at Pinterest
Puppet at Pinterest
ย 
Puppet Performance Profiling
Puppet Performance ProfilingPuppet Performance Profiling
Puppet Performance Profiling
ย 
Puppet at GitHub / ChatOps
Puppet at GitHub / ChatOpsPuppet at GitHub / ChatOps
Puppet at GitHub / ChatOps
ย 

Viewers also liked

Dockerize magento 2 24.02.2016
Dockerize magento 2   24.02.2016Dockerize magento 2   24.02.2016
Dockerize magento 2 24.02.2016Andreas Pointner
ย 
My app is secure... I think
My app is secure... I thinkMy app is secure... I think
My app is secure... I thinkWim Godden
ย 
Composer the right way - SunshinePHP
Composer the right way - SunshinePHPComposer the right way - SunshinePHP
Composer the right way - SunshinePHPRafael Dohms
ย 
Diving into HHVM Extensions (PHPNW Conference 2015)
Diving into HHVM Extensions (PHPNW Conference 2015)Diving into HHVM Extensions (PHPNW Conference 2015)
Diving into HHVM Extensions (PHPNW Conference 2015)James Titcumb
ย 
Are you a good scout? - PHPNW15 Unconf
Are you a good scout? - PHPNW15 UnconfAre you a good scout? - PHPNW15 Unconf
Are you a good scout? - PHPNW15 Unconfphpboyscout
ย 
Secure Form Processing and Protection - Sunshine PHP 2015
Secure Form Processing and Protection - Sunshine PHP 2015Secure Form Processing and Protection - Sunshine PHP 2015
Secure Form Processing and Protection - Sunshine PHP 2015Joe Ferguson
ย 
Mule soft esb โ€“ data validation best practices
Mule soft esb โ€“ data validation best practicesMule soft esb โ€“ data validation best practices
Mule soft esb โ€“ data validation best practicesalfa
ย 
Dockerized tests with dockerized jenkins
Dockerized tests with dockerized jenkinsDockerized tests with dockerized jenkins
Dockerized tests with dockerized jenkinsFernando Valverde
ย 
Your Inner Sysadmin - Tutorial (SunshinePHP 2015)
Your Inner Sysadmin - Tutorial (SunshinePHP 2015)Your Inner Sysadmin - Tutorial (SunshinePHP 2015)
Your Inner Sysadmin - Tutorial (SunshinePHP 2015)Chris Tankersley
ย 
Coding like a girl - DjangoCon
Coding like a girl - DjangoConCoding like a girl - DjangoCon
Coding like a girl - DjangoConGabriela Ferrara
ย 
Integration Testing with Docker Containers with DockerCompose
Integration Testing with Docker Containers  with DockerComposeIntegration Testing with Docker Containers  with DockerCompose
Integration Testing with Docker Containers with DockerComposeMike Holdsworth
ย 
Building Your API for Longevity
Building Your API for LongevityBuilding Your API for Longevity
Building Your API for LongevityMuleSoft
ย 
TDD with PhpSpec
TDD with PhpSpecTDD with PhpSpec
TDD with PhpSpecCiaranMcNulty
ย 
How to Dockerize Web Application using Docker Compose
How to Dockerize Web Application using Docker ComposeHow to Dockerize Web Application using Docker Compose
How to Dockerize Web Application using Docker ComposeEvoke Technologies
ย 
Dockerize it all
Dockerize it allDockerize it all
Dockerize it allPuneet Behl
ย 
DEPLOYING A DOCKERIZED DISTRIBUTED APPLICATION IN MESOS
DEPLOYING A DOCKERIZED DISTRIBUTED APPLICATION IN MESOSDEPLOYING A DOCKERIZED DISTRIBUTED APPLICATION IN MESOS
DEPLOYING A DOCKERIZED DISTRIBUTED APPLICATION IN MESOSJulia Mateo
ย 
Zephir - A Wind of Change for writing PHP extensions
Zephir - A Wind of Change for writing PHP extensionsZephir - A Wind of Change for writing PHP extensions
Zephir - A Wind of Change for writing PHP extensionsMark Baker
ย 

Viewers also liked (20)

Dockerize magento 2 24.02.2016
Dockerize magento 2   24.02.2016Dockerize magento 2   24.02.2016
Dockerize magento 2 24.02.2016
ย 
My app is secure... I think
My app is secure... I thinkMy app is secure... I think
My app is secure... I think
ย 
Your code are my tests
Your code are my testsYour code are my tests
Your code are my tests
ย 
Composer the right way - SunshinePHP
Composer the right way - SunshinePHPComposer the right way - SunshinePHP
Composer the right way - SunshinePHP
ย 
Diving into HHVM Extensions (PHPNW Conference 2015)
Diving into HHVM Extensions (PHPNW Conference 2015)Diving into HHVM Extensions (PHPNW Conference 2015)
Diving into HHVM Extensions (PHPNW Conference 2015)
ย 
TDD: Team-Driven Development
TDD: Team-Driven DevelopmentTDD: Team-Driven Development
TDD: Team-Driven Development
ย 
Are you a good scout? - PHPNW15 Unconf
Are you a good scout? - PHPNW15 UnconfAre you a good scout? - PHPNW15 Unconf
Are you a good scout? - PHPNW15 Unconf
ย 
Secure Form Processing and Protection - Sunshine PHP 2015
Secure Form Processing and Protection - Sunshine PHP 2015Secure Form Processing and Protection - Sunshine PHP 2015
Secure Form Processing and Protection - Sunshine PHP 2015
ย 
QA for PHP projects
QA for PHP projectsQA for PHP projects
QA for PHP projects
ย 
Mule soft esb โ€“ data validation best practices
Mule soft esb โ€“ data validation best practicesMule soft esb โ€“ data validation best practices
Mule soft esb โ€“ data validation best practices
ย 
Dockerized tests with dockerized jenkins
Dockerized tests with dockerized jenkinsDockerized tests with dockerized jenkins
Dockerized tests with dockerized jenkins
ย 
Your Inner Sysadmin - Tutorial (SunshinePHP 2015)
Your Inner Sysadmin - Tutorial (SunshinePHP 2015)Your Inner Sysadmin - Tutorial (SunshinePHP 2015)
Your Inner Sysadmin - Tutorial (SunshinePHP 2015)
ย 
Coding like a girl - DjangoCon
Coding like a girl - DjangoConCoding like a girl - DjangoCon
Coding like a girl - DjangoCon
ย 
Integration Testing with Docker Containers with DockerCompose
Integration Testing with Docker Containers  with DockerComposeIntegration Testing with Docker Containers  with DockerCompose
Integration Testing with Docker Containers with DockerCompose
ย 
Building Your API for Longevity
Building Your API for LongevityBuilding Your API for Longevity
Building Your API for Longevity
ย 
TDD with PhpSpec
TDD with PhpSpecTDD with PhpSpec
TDD with PhpSpec
ย 
How to Dockerize Web Application using Docker Compose
How to Dockerize Web Application using Docker ComposeHow to Dockerize Web Application using Docker Compose
How to Dockerize Web Application using Docker Compose
ย 
Dockerize it all
Dockerize it allDockerize it all
Dockerize it all
ย 
DEPLOYING A DOCKERIZED DISTRIBUTED APPLICATION IN MESOS
DEPLOYING A DOCKERIZED DISTRIBUTED APPLICATION IN MESOSDEPLOYING A DOCKERIZED DISTRIBUTED APPLICATION IN MESOS
DEPLOYING A DOCKERIZED DISTRIBUTED APPLICATION IN MESOS
ย 
Zephir - A Wind of Change for writing PHP extensions
Zephir - A Wind of Change for writing PHP extensionsZephir - A Wind of Change for writing PHP extensions
Zephir - A Wind of Change for writing PHP extensions
ย 

Similar to Dockerize All The Things

Docker for developers
Docker for developersDocker for developers
Docker for developersChris Tankersley
ย 
Why Docker? Dayton PHP, April 2017
Why Docker? Dayton PHP, April 2017Why Docker? Dayton PHP, April 2017
Why Docker? Dayton PHP, April 2017Chris Tankersley
ย 
Docker for Developers
Docker for DevelopersDocker for Developers
Docker for DevelopersChris Tankersley
ย 
Docker for PHP Developers - php[world] 2017
Docker for PHP Developers - php[world] 2017Docker for PHP Developers - php[world] 2017
Docker for PHP Developers - php[world] 2017Chris Tankersley
ย 
Docker for Developers - Sunshine PHP
Docker for Developers - Sunshine PHPDocker for Developers - Sunshine PHP
Docker for Developers - Sunshine PHPChris Tankersley
ย 
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...Gaetano Giunta
ย 
Docker for Developers - PHP Detroit 2018
Docker for Developers - PHP Detroit 2018Docker for Developers - PHP Detroit 2018
Docker for Developers - PHP Detroit 2018Chris Tankersley
ย 
Killer Docker Workflows for Development
Killer Docker Workflows for DevelopmentKiller Docker Workflows for Development
Killer Docker Workflows for DevelopmentChris Tankersley
ย 
Getting Started with Docker
Getting Started with DockerGetting Started with Docker
Getting Started with DockerGeeta Vinnakota
ย 
Dockerize the World - presentation from Hradec Kralove
Dockerize the World - presentation from Hradec KraloveDockerize the World - presentation from Hradec Kralove
Dockerize the World - presentation from Hradec Kralovedamovsky
ย 
Docker crash course
Docker crash courseDocker crash course
Docker crash coursenispas
ย 
Docker for Developers
Docker for DevelopersDocker for Developers
Docker for DevelopersJames Turnbull
ย 
Dockerize the World
Dockerize the WorldDockerize the World
Dockerize the Worlddamovsky
ย 
Docker on Power Systems
Docker on Power SystemsDocker on Power Systems
Docker on Power SystemsCesar Maciel
ย 
Tribal Nova Docker feedback
Tribal Nova Docker feedbackTribal Nova Docker feedback
Tribal Nova Docker feedbackNicolas Degardin
ย 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to DockerAlan Forbes
ย 
Scaling Your App With Docker Swarm using Terraform, Packer on Openstack
Scaling Your App With Docker Swarm using Terraform, Packer on OpenstackScaling Your App With Docker Swarm using Terraform, Packer on Openstack
Scaling Your App With Docker Swarm using Terraform, Packer on OpenstackBobby DeVeaux, DevOps Consultant
ย 
Docker fundamentals
Docker fundamentalsDocker fundamentals
Docker fundamentalsAlper Unal
ย 
Free Mongo on OpenShift
Free Mongo on OpenShiftFree Mongo on OpenShift
Free Mongo on OpenShiftSteven Pousty
ย 

Similar to Dockerize All The Things (20)

Docker for developers
Docker for developersDocker for developers
Docker for developers
ย 
Docker basic
Docker basicDocker basic
Docker basic
ย 
Why Docker? Dayton PHP, April 2017
Why Docker? Dayton PHP, April 2017Why Docker? Dayton PHP, April 2017
Why Docker? Dayton PHP, April 2017
ย 
Docker for Developers
Docker for DevelopersDocker for Developers
Docker for Developers
ย 
Docker for PHP Developers - php[world] 2017
Docker for PHP Developers - php[world] 2017Docker for PHP Developers - php[world] 2017
Docker for PHP Developers - php[world] 2017
ย 
Docker for Developers - Sunshine PHP
Docker for Developers - Sunshine PHPDocker for Developers - Sunshine PHP
Docker for Developers - Sunshine PHP
ย 
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
eZ Publish 5: from zero to automated deployment (and no regressions!) in one ...
ย 
Docker for Developers - PHP Detroit 2018
Docker for Developers - PHP Detroit 2018Docker for Developers - PHP Detroit 2018
Docker for Developers - PHP Detroit 2018
ย 
Killer Docker Workflows for Development
Killer Docker Workflows for DevelopmentKiller Docker Workflows for Development
Killer Docker Workflows for Development
ย 
Getting Started with Docker
Getting Started with DockerGetting Started with Docker
Getting Started with Docker
ย 
Dockerize the World - presentation from Hradec Kralove
Dockerize the World - presentation from Hradec KraloveDockerize the World - presentation from Hradec Kralove
Dockerize the World - presentation from Hradec Kralove
ย 
Docker crash course
Docker crash courseDocker crash course
Docker crash course
ย 
Docker for Developers
Docker for DevelopersDocker for Developers
Docker for Developers
ย 
Dockerize the World
Dockerize the WorldDockerize the World
Dockerize the World
ย 
Docker on Power Systems
Docker on Power SystemsDocker on Power Systems
Docker on Power Systems
ย 
Tribal Nova Docker feedback
Tribal Nova Docker feedbackTribal Nova Docker feedback
Tribal Nova Docker feedback
ย 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
ย 
Scaling Your App With Docker Swarm using Terraform, Packer on Openstack
Scaling Your App With Docker Swarm using Terraform, Packer on OpenstackScaling Your App With Docker Swarm using Terraform, Packer on Openstack
Scaling Your App With Docker Swarm using Terraform, Packer on Openstack
ย 
Docker fundamentals
Docker fundamentalsDocker fundamentals
Docker fundamentals
ย 
Free Mongo on OpenShift
Free Mongo on OpenShiftFree Mongo on OpenShift
Free Mongo on OpenShift
ย 

More from Chris Tankersley

Docker is Dead: Long Live Containers
Docker is Dead: Long Live ContainersDocker is Dead: Long Live Containers
Docker is Dead: Long Live ContainersChris Tankersley
ย 
Bend time to your will with git
Bend time to your will with gitBend time to your will with git
Bend time to your will with gitChris 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)
Using PHP Functions! (Not those functions, Google Cloud Functions)Chris Tankersley
ย 
Dead Simple APIs with OpenAPI
Dead Simple APIs with OpenAPIDead Simple APIs with OpenAPI
Dead Simple APIs with OpenAPIChris Tankersley
ย 
You Got Async in my PHP!
You Got Async in my PHP!You Got Async in my PHP!
You Got Async in my PHP!Chris Tankersley
ย 
Docker for Developers
Docker for DevelopersDocker for Developers
Docker for DevelopersChris Tankersley
ย 
They are Watching You
They are Watching YouThey are Watching You
They are Watching YouChris Tankersley
ย 
BASHing at the CLI - Midwest PHP 2018
BASHing at the CLI - Midwest PHP 2018BASHing at the CLI - Midwest PHP 2018
BASHing at the CLI - Midwest PHP 2018Chris Tankersley
ย 
You Were Lied To About Optimization
You Were Lied To About OptimizationYou Were Lied To About Optimization
You Were Lied To About OptimizationChris Tankersley
ย 
Docker for PHP Developers - Madison PHP 2017
Docker for PHP Developers - Madison PHP 2017Docker for PHP Developers - Madison PHP 2017
Docker for PHP Developers - Madison PHP 2017Chris Tankersley
ย 
Docker for Developers - php[tek] 2017
Docker for Developers - php[tek] 2017Docker for Developers - php[tek] 2017
Docker for Developers - php[tek] 2017Chris Tankersley
ย 
OOP Is More Then Cars and Dogs - Midwest PHP 2017
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 2017Chris Tankersley
ย 
From Docker to Production - SunshinePHP 2017
From Docker to Production - SunshinePHP 2017From Docker to Production - SunshinePHP 2017
From Docker to Production - SunshinePHP 2017Chris Tankersley
ย 
Coming to Terms with OOP In Drupal - php[world] 2016
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] 2016Chris Tankersley
ย 
How We Got Here: A Brief History of Open Source
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 SourceChris Tankersley
ย 
From Docker to Production - ZendCon 2016
From Docker to Production - ZendCon 2016From Docker to Production - ZendCon 2016
From Docker to Production - ZendCon 2016Chris Tankersley
ย 
Oh Crap, My Code is Slow - Madison PHP 2016
Oh Crap, My Code is Slow - Madison PHP 2016Oh Crap, My Code is Slow - Madison PHP 2016
Oh Crap, My Code is Slow - Madison PHP 2016Chris Tankersley
ย 
Docker for Developers - PNWPHP 2016 Workshop
Docker for Developers - PNWPHP 2016 WorkshopDocker for Developers - PNWPHP 2016 Workshop
Docker for Developers - PNWPHP 2016 WorkshopChris Tankersley
ย 
A Brief History of Open Source
A Brief History of Open SourceA Brief History of Open Source
A Brief History of Open SourceChris Tankersley
ย 
Failing at Scale - PNWPHP 2016
Failing at Scale - PNWPHP 2016Failing at Scale - PNWPHP 2016
Failing at Scale - PNWPHP 2016Chris Tankersley
ย 

More from Chris Tankersley (20)

Docker is Dead: Long Live Containers
Docker is Dead: Long Live ContainersDocker is Dead: Long Live Containers
Docker is Dead: Long Live Containers
ย 
Bend time to your will with git
Bend time to your will with gitBend time to your will with git
Bend time to your will with git
ย 
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)
Using PHP Functions! (Not those functions, Google Cloud Functions)
ย 
Dead Simple APIs with OpenAPI
Dead Simple APIs with OpenAPIDead Simple APIs with OpenAPI
Dead Simple APIs with OpenAPI
ย 
You Got Async in my PHP!
You Got Async in my PHP!You Got Async in my PHP!
You Got Async in my PHP!
ย 
Docker for Developers
Docker for DevelopersDocker for Developers
Docker for Developers
ย 
They are Watching You
They are Watching YouThey are Watching You
They are Watching You
ย 
BASHing at the CLI - Midwest PHP 2018
BASHing at the CLI - Midwest PHP 2018BASHing at the CLI - Midwest PHP 2018
BASHing at the CLI - Midwest PHP 2018
ย 
You Were Lied To About Optimization
You Were Lied To About OptimizationYou Were Lied To About Optimization
You Were Lied To About Optimization
ย 
Docker for PHP Developers - Madison PHP 2017
Docker for PHP Developers - Madison PHP 2017Docker for PHP Developers - Madison PHP 2017
Docker for PHP Developers - Madison PHP 2017
ย 
Docker for Developers - php[tek] 2017
Docker for Developers - php[tek] 2017Docker for Developers - php[tek] 2017
Docker for Developers - php[tek] 2017
ย 
OOP Is More Then Cars and Dogs - Midwest PHP 2017
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
ย 
From Docker to Production - SunshinePHP 2017
From Docker to Production - SunshinePHP 2017From Docker to Production - SunshinePHP 2017
From Docker to Production - SunshinePHP 2017
ย 
Coming to Terms with OOP In Drupal - php[world] 2016
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
ย 
How We Got Here: A Brief History of Open Source
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
ย 
From Docker to Production - ZendCon 2016
From Docker to Production - ZendCon 2016From Docker to Production - ZendCon 2016
From Docker to Production - ZendCon 2016
ย 
Oh Crap, My Code is Slow - Madison PHP 2016
Oh Crap, My Code is Slow - Madison PHP 2016Oh Crap, My Code is Slow - Madison PHP 2016
Oh Crap, My Code is Slow - Madison PHP 2016
ย 
Docker for Developers - PNWPHP 2016 Workshop
Docker for Developers - PNWPHP 2016 WorkshopDocker for Developers - PNWPHP 2016 Workshop
Docker for Developers - PNWPHP 2016 Workshop
ย 
A Brief History of Open Source
A Brief History of Open SourceA Brief History of Open Source
A Brief History of Open Source
ย 
Failing at Scale - PNWPHP 2016
Failing at Scale - PNWPHP 2016Failing at Scale - PNWPHP 2016
Failing at Scale - PNWPHP 2016
ย 

Recently uploaded

โ‚น5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] ๐Ÿ”|97111...
โ‚น5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] ๐Ÿ”|97111...โ‚น5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] ๐Ÿ”|97111...
โ‚น5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] ๐Ÿ”|97111...Diya Sharma
ย 
( Pune ) VIP Baner Call Girls ๐ŸŽ—๏ธ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls ๐ŸŽ—๏ธ 9352988975 Sizzling | Escorts | Girls Are Re...( Pune ) VIP Baner Call Girls ๐ŸŽ—๏ธ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls ๐ŸŽ—๏ธ 9352988975 Sizzling | Escorts | Girls Are Re...nilamkumrai
ย 
Katraj ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For S...
Katraj ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For S...Katraj ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For S...
Katraj ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For S...tanu pandey
ย 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge GraphsEleniIlkou
ย 
Hireโ† Young Call Girls in Tilak nagar (Delhi) โ˜Ž๏ธ 9205541914 โ˜Ž๏ธ Independent Esc...
Hireโ† Young Call Girls in Tilak nagar (Delhi) โ˜Ž๏ธ 9205541914 โ˜Ž๏ธ Independent Esc...Hireโ† Young Call Girls in Tilak nagar (Delhi) โ˜Ž๏ธ 9205541914 โ˜Ž๏ธ Independent Esc...
Hireโ† Young Call Girls in Tilak nagar (Delhi) โ˜Ž๏ธ 9205541914 โ˜Ž๏ธ Independent Esc...Delhi Call girls
ย 
Lucknow โคCALL GIRL 88759*99948 โคCALL GIRLS IN Lucknow ESCORT SERVICEโคCALL GIRL
Lucknow โคCALL GIRL 88759*99948 โคCALL GIRLS IN Lucknow ESCORT SERVICEโคCALL GIRLLucknow โคCALL GIRL 88759*99948 โคCALL GIRLS IN Lucknow ESCORT SERVICEโคCALL GIRL
Lucknow โคCALL GIRL 88759*99948 โคCALL GIRLS IN Lucknow ESCORT SERVICEโคCALL GIRLimonikaupta
ย 
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls DubaiDubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubaikojalkojal131
ย 
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...SUHANI PANDEY
ย 
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...roncy bisnoi
ย 
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersMoving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersDamian Radcliffe
ย 
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...SUHANI PANDEY
ย 
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl ServiceRussian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl Servicegwenoracqe6
ย 
Busty DesiโšกCall Girls in Vasundhara Ghaziabad >เผ’8448380779 Escort Service
Busty DesiโšกCall Girls in Vasundhara Ghaziabad >เผ’8448380779 Escort ServiceBusty DesiโšกCall Girls in Vasundhara Ghaziabad >เผ’8448380779 Escort Service
Busty DesiโšกCall Girls in Vasundhara Ghaziabad >เผ’8448380779 Escort ServiceDelhi Call girls
ย 
Call Now โ˜Ž 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now โ˜Ž 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.Call Now โ˜Ž 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now โ˜Ž 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.soniya singh
ย 
Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...
Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...
Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...SUHANI PANDEY
ย 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...tanu pandey
ย 
Top Rated Pune Call Girls Daund โŸŸ 6297143586 โŸŸ Call Me For Genuine Sex Servi...
Top Rated  Pune Call Girls Daund โŸŸ 6297143586 โŸŸ Call Me For Genuine Sex Servi...Top Rated  Pune Call Girls Daund โŸŸ 6297143586 โŸŸ Call Me For Genuine Sex Servi...
Top Rated Pune Call Girls Daund โŸŸ 6297143586 โŸŸ Call Me For Genuine Sex Servi...Call Girls in Nagpur High Profile
ย 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtrahman018755
ย 

Recently uploaded (20)

โ‚น5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] ๐Ÿ”|97111...
โ‚น5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] ๐Ÿ”|97111...โ‚น5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] ๐Ÿ”|97111...
โ‚น5.5k {Cash Payment}New Friends Colony Call Girls In [Delhi NIHARIKA] ๐Ÿ”|97111...
ย 
( Pune ) VIP Baner Call Girls ๐ŸŽ—๏ธ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls ๐ŸŽ—๏ธ 9352988975 Sizzling | Escorts | Girls Are Re...( Pune ) VIP Baner Call Girls ๐ŸŽ—๏ธ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls ๐ŸŽ—๏ธ 9352988975 Sizzling | Escorts | Girls Are Re...
ย 
Katraj ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For S...
Katraj ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For S...Katraj ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For S...
Katraj ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For S...
ย 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
ย 
Hireโ† Young Call Girls in Tilak nagar (Delhi) โ˜Ž๏ธ 9205541914 โ˜Ž๏ธ Independent Esc...
Hireโ† Young Call Girls in Tilak nagar (Delhi) โ˜Ž๏ธ 9205541914 โ˜Ž๏ธ Independent Esc...Hireโ† Young Call Girls in Tilak nagar (Delhi) โ˜Ž๏ธ 9205541914 โ˜Ž๏ธ Independent Esc...
Hireโ† Young Call Girls in Tilak nagar (Delhi) โ˜Ž๏ธ 9205541914 โ˜Ž๏ธ Independent Esc...
ย 
Lucknow โคCALL GIRL 88759*99948 โคCALL GIRLS IN Lucknow ESCORT SERVICEโคCALL GIRL
Lucknow โคCALL GIRL 88759*99948 โคCALL GIRLS IN Lucknow ESCORT SERVICEโคCALL GIRLLucknow โคCALL GIRL 88759*99948 โคCALL GIRLS IN Lucknow ESCORT SERVICEโคCALL GIRL
Lucknow โคCALL GIRL 88759*99948 โคCALL GIRLS IN Lucknow ESCORT SERVICEโคCALL GIRL
ย 
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls DubaiDubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
Dubai=Desi Dubai Call Girls O525547819 Outdoor Call Girls Dubai
ย 
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
ย 
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
ย 
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providersMoving Beyond Twitter/X and Facebook - Social Media for local news providers
Moving Beyond Twitter/X and Facebook - Social Media for local news providers
ย 
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
ย 
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl ServiceRussian Call girl in Ajman +971563133746 Ajman Call girl Service
Russian Call girl in Ajman +971563133746 Ajman Call girl Service
ย 
valsad Escorts Service โ˜Ž๏ธ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service โ˜Ž๏ธ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...valsad Escorts Service โ˜Ž๏ธ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
valsad Escorts Service โ˜Ž๏ธ 6378878445 ( Sakshi Sinha ) High Profile Call Girls...
ย 
Busty DesiโšกCall Girls in Vasundhara Ghaziabad >เผ’8448380779 Escort Service
Busty DesiโšกCall Girls in Vasundhara Ghaziabad >เผ’8448380779 Escort ServiceBusty DesiโšกCall Girls in Vasundhara Ghaziabad >เผ’8448380779 Escort Service
Busty DesiโšกCall Girls in Vasundhara Ghaziabad >เผ’8448380779 Escort Service
ย 
Call Now โ˜Ž 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now โ˜Ž 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.Call Now โ˜Ž 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
Call Now โ˜Ž 8264348440 !! Call Girls in Shahpur Jat Escort Service Delhi N.C.R.
ย 
Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...
Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...
Yerawada ] Independent Escorts in Pune - Book 8005736733 Call Girls Available...
ย 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
ย 
Low Sexy Call Girls In Mohali 9053900678 ๐ŸฅตHave Save And Good Place ๐Ÿฅต
Low Sexy Call Girls In Mohali 9053900678 ๐ŸฅตHave Save And Good Place ๐ŸฅตLow Sexy Call Girls In Mohali 9053900678 ๐ŸฅตHave Save And Good Place ๐Ÿฅต
Low Sexy Call Girls In Mohali 9053900678 ๐ŸฅตHave Save And Good Place ๐Ÿฅต
ย 
Top Rated Pune Call Girls Daund โŸŸ 6297143586 โŸŸ Call Me For Genuine Sex Servi...
Top Rated  Pune Call Girls Daund โŸŸ 6297143586 โŸŸ Call Me For Genuine Sex Servi...Top Rated  Pune Call Girls Daund โŸŸ 6297143586 โŸŸ Call Me For Genuine Sex Servi...
Top Rated Pune Call Girls Daund โŸŸ 6297143586 โŸŸ Call Me For Genuine Sex Servi...
ย 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirt
ย 

Dockerize All The Things

  • 1. Dockerize All The Things! Chris Tankersley @dragonmantank SunshinePHP 2015 SunshinePHP 2015 1
  • 2. Who Am I โ€ข PHP Programmer for over 10 years โ€ข Sysadmin/DevOps for around 8 years โ€ข Using Linux for more than 15 years โ€ข https://github.com/dragonmantank SunshinePHP 2015 2
  • 4. What Is Docker? โ€œDocker is an open platform for developers and sysadmins to build, ship, and run distributed applications. Consisting of Docker Engine, a portable, lightweight runtime and packaging tool, and Docker Hub, a cloud service for sharing applications and automating workflows, Docker enables apps to be quickly assembled from components and eliminates the friction between development, QA, and production environments.โ€ SunshinePHP 2015 4 https://www.docker.com/whatisdocker/
  • 5. What is it from a technical standpoint? โ€ข Docker is a wrapper around Containers โ€ข Docker Engine is the packaging portion 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 multi-container build system SunshinePHP 2015 5
  • 7. Normal Bare-Metal Server SunshinePHP 2015 7 CPU RAM HD Network Operating System nginx PHP DB
  • 8. Virtual Machines SunshinePHP 2015 8 CPU RAM HD Network Operating System nginx PHP DB Operating System nginx PHP DB Operating System Hypervisor
  • 9. Containers SunshinePHP 2015 9 CPU RAM HD Network Operating System nginxnginx PHP DB PHP DB
  • 10. 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 2015 10
  • 11. Still regulated to Linux, BSD, and Solaris โ€ข No native container drivers for OSX or Windows, as they donโ€™t have their own container architecture โ€ข Microsoft is helping with working on a Hyper-V container driver though โ€ข I donโ€™t think there is anything native planned for OSX SunshinePHP 2015 11
  • 13. Running a container โ€ข `docker run` will run a container โ€ข This will not restart an existing container, just create a new one โ€ข docker run [options] IMAGE [command] [arguments] โ€ข [options ]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 2015 13
  • 14. Running a simple shell SunshinePHP 2015 14
  • 16. 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 interactive mode โ€ข --name โ€“ Give the container a name โ€ข -p [local port]:[container port] โ€“ Forward the local port to the container port SunshinePHP 2015 16
  • 18. Modifying a running container โ€ข `docker exec` can run a command inside of an existing container โ€ข Use Volumes to share data SunshinePHP 2015 18
  • 19. 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 2015 19
  • 20. Mounting from the host machine SunshinePHP 2015 20
  • 21. 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 SunshinePHP 2015 21
  • 22. 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 2015 22
  • 24. 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 2015 24
  • 25. Why go through the hassle? โ€ข Data volumes are portable โ€ข Data volumes are safer โ€ข Separates the app containers from data โ€ข Production can use a data volume, dev can use a host volume โ€ข Our app containers stay small SunshinePHP 2015 25
  • 27. 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 SunshinePHP 2015 27
  • 28. More Traditional Setup SunshinePHP 2015 28 INTARWEBS Nginx PHP-FPM Data Volume Port 9000 Editor
  • 30. More Notes! โ€ข We can now rebuild sections of the app as needed โ€ข We can restart nginx without impacting 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 2015 30
  • 31. Creating your own Images SunshinePHP 2015 31
  • 32. Dockerfile โ€ข Dockerfile is the configuration 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 2015 32
  • 33. 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 2015 33
  • 34. 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 2015 34
  • 36. Inspect a container docker inspect [options] CONTAINER_NAME โ€ข Returns a JSON string with data about the container โ€ข Can also query โ€ข docker inspect -f โ€œ{{ .NetworkSettings.IPAddres }}โ€ web_server โ€ข Really handy for scripting out things like reverse proxies SunshinePHP 2015 36
  • 37. 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 2015 37