SlideShare una empresa de Scribd logo
1 de 39
Descargar para leer sin conexión
Docker 4 Drupal Themes
Presented by :
Ron Williams
With thanks to Ben Hosmer
Integrating Docker into Drupal Theme Development
Began developing Wordpress, phpBB, MediaWiki, etc integrations 11
years ago. When needing reliable data migration, I moved to Drupal
for use as a cohesive integration service between multiple
applications.
I founded the Maryland Drupal Developers group in 2007 and was the
organizer until 2012. I worked as Sys Admin for CU-Boulder from
2012-2015.
I currently work for Heartland Technology Group at USDA Enterprise
Application Services.
Background
Concurrent
Experience / Work
Web App Development
Drupal Dev
SEO
Sys Admin
11 yrs
10 yrs
7 yrs
6 yrs
Ron Williams
DevOps Specialist, @Ron_Williams
@Ron_Williams - http://ronwilliams.io
Why Use Docker?
Background
How to Use
What Are Containers?
Why Use Theming Containers?
Using Theme Dev Containers
Overview
3
@Ron_Williams - http://ronwilliams.io
4
Why?
@Ron_Williams - http://ronwilliams.io
Benefits
Re-deployable Containers For Defined Use Cases
5
Reduce Systems
Labor Costs
Inherent Config Management
Build Once,
Use Everywhere
@Ron_Williams - http://ronwilliams.io
6
@Ron_Williams - http://ronwilliams.io
7
@Ron_Williams - http://ronwilliams.io
8
What?
This technology isn’t new!
@Ron_Williams - http://ronwilliams.io
How?
How to Leverage Docker
9
Project Atomic
Shipyard
Native (Linux Only)Virtualbox / Vagrant
Kitematic
Boot2Docker
@Ron_Williams - http://ronwilliams.io
10
Containers Are Not
Virtual Machines
@Ron_Williams - http://ronwilliams.io
LAMP Stack
Linux
Apache/NGINX
PHP
MariaDB
2 Containers
PHP
Webserver
Database
@Ron_Williams - http://ronwilliams.io
Using Docker
$ docker build
$ docker run
$ docker start
$ docker stop
$ docker logs
$ docker inspect
@Ron_Williams - http://ronwilliams.io
Dockerfile
@Ron_Williams - http://ronwilliams.io
@Ron_Williams - http://ronwilliams.io
$ docker build
@Ron_Williams - http://ronwilliams.io
$ docker run
@Ron_Williams - http://ronwilliams.io
@Ron_Williams - http://ronwilliams.io
Persistent Data
Host
/docroot
/mysql-data
Container
/docroot
Container
/mysql-data
Shared Volumes
@Ron_Williams - http://ronwilliams.io
Linking Containers
Database Webserver
@Ron_Williams - http://ronwilliams.io
Using Other Containers
@Ron_Williams - http://ronwilliams.io
$ docker pull
$ docker push
Docker 4 Drupal Themes | Design 4 Drupal Boston 2015
@Ron_Williams - http://ronwilliams.io
Cool dev, but why theme?
• Avoid merge conflicts
• Local development mirrors staging server
• Reliable Windows development
• Reduce software version incompatibilities
Docker 4 Drupal Themes | Design 4 Drupal Boston 2015
Docker 4 Drupal Themes | Design 4 Drupal Boston 2015
Docker 4 Drupal Themes | Design 4 Drupal Boston 2015
Docker 4 Drupal Themes | Design 4 Drupal Boston 2015
Docker 4 Drupal Themes | Design 4 Drupal Boston 2015
Docker 4 Drupal Themes | Design 4 Drupal Boston 2015
Docker 4 Drupal Themes | Design 4 Drupal Boston 2015
Docker 4 Drupal Themes | Design 4 Drupal Boston 2015
Docker 4 Drupal Themes | Design 4 Drupal Boston 2015
Docker 4 Drupal Themes | Design 4 Drupal Boston 2015
Docker 4 Drupal Themes | Design 4 Drupal Boston 2015
Docker 4 Drupal Themes | Design 4 Drupal Boston 2015
Docker 4 Drupal Themes | Design 4 Drupal Boston 2015
Docker 4 Drupal Themes | Design 4 Drupal Boston 2015
Connect on Social Media
Follow technology, ask additional questions, learn new strategy as it’s released
@Ron_Williams
RonWilliams.io
Also e-mail hello@ronwilliams.io
Personal blog, portfolio, and technology banter.

Más contenido relacionado

Similar a Docker 4 Drupal Themes | Design 4 Drupal Boston 2015

A Sneak Peek Into Drupal - A Beginner’s Guide.pdf
A Sneak Peek Into Drupal - A Beginner’s Guide.pdfA Sneak Peek Into Drupal - A Beginner’s Guide.pdf
A Sneak Peek Into Drupal - A Beginner’s Guide.pdfMars Devs
 
Drupal Global Training Day by Drupal Mumbai 6th Sep - Drupal Intro
Drupal Global Training Day by Drupal Mumbai 6th Sep - Drupal IntroDrupal Global Training Day by Drupal Mumbai 6th Sep - Drupal Intro
Drupal Global Training Day by Drupal Mumbai 6th Sep - Drupal IntroDrupalMumbai
 
Why drupal should power your next web project
Why drupal should power your next web projectWhy drupal should power your next web project
Why drupal should power your next web projectSyed Hassan Raza
 
Drupal Gardens Overview
Drupal Gardens OverviewDrupal Gardens Overview
Drupal Gardens OverviewAcquia
 
Drupal development
Drupal developmentDrupal development
Drupal developmentAnurag Gupta
 
State of Drupal keynote, DrupalCon Vienna
State of Drupal keynote, DrupalCon ViennaState of Drupal keynote, DrupalCon Vienna
State of Drupal keynote, DrupalCon ViennaDries Buytaert
 
Is Drupal Right for my Website?
Is Drupal Right for my Website?Is Drupal Right for my Website?
Is Drupal Right for my Website?Lee Raney
 
Difference Between WordPress and PHP Websites.pdf
Difference Between WordPress and PHP Websites.pdfDifference Between WordPress and PHP Websites.pdf
Difference Between WordPress and PHP Websites.pdfHost It Smart
 
Drupal Conference on 28th
Drupal Conference on 28thDrupal Conference on 28th
Drupal Conference on 28thChanHan Hy
 
Creating an Organizational Culture of Giving Back to Drupal
Creating an Organizational Culture of Giving Back to DrupalCreating an Organizational Culture of Giving Back to Drupal
Creating an Organizational Culture of Giving Back to DrupalMediacurrent
 
Riding the Drupal Wave: The Future for Drupal and Open Source Content Manage...
Riding the Drupal Wave:  The Future for Drupal and Open Source Content Manage...Riding the Drupal Wave:  The Future for Drupal and Open Source Content Manage...
Riding the Drupal Wave: The Future for Drupal and Open Source Content Manage...Phase2
 
Drupal Continuous Integration (European Drupal Days 2015)
Drupal Continuous Integration (European Drupal Days 2015)Drupal Continuous Integration (European Drupal Days 2015)
Drupal Continuous Integration (European Drupal Days 2015)Eugenio Minardi
 
Drupal vs Wordpress
Drupal vs WordpressDrupal vs Wordpress
Drupal vs WordpressIan Mariano
 
Drupal vs. the Others
Drupal vs. the OthersDrupal vs. the Others
Drupal vs. the Othersdrupalcampest
 
Future Scope of Drupal as a Technology in 2020 and Beyond
Future Scope of Drupal as a Technology in 2020 and BeyondFuture Scope of Drupal as a Technology in 2020 and Beyond
Future Scope of Drupal as a Technology in 2020 and BeyondKaty Slemon
 
Dockerizing An Angular Application Using Git, Jenkins & Docker! | DevOps Tuto...
Dockerizing An Angular Application Using Git, Jenkins & Docker! | DevOps Tuto...Dockerizing An Angular Application Using Git, Jenkins & Docker! | DevOps Tuto...
Dockerizing An Angular Application Using Git, Jenkins & Docker! | DevOps Tuto...Edureka!
 

Similar a Docker 4 Drupal Themes | Design 4 Drupal Boston 2015 (20)

A Sneak Peek Into Drupal - A Beginner’s Guide.pdf
A Sneak Peek Into Drupal - A Beginner’s Guide.pdfA Sneak Peek Into Drupal - A Beginner’s Guide.pdf
A Sneak Peek Into Drupal - A Beginner’s Guide.pdf
 
Drupal Global Training Day by Drupal Mumbai 6th Sep - Drupal Intro
Drupal Global Training Day by Drupal Mumbai 6th Sep - Drupal IntroDrupal Global Training Day by Drupal Mumbai 6th Sep - Drupal Intro
Drupal Global Training Day by Drupal Mumbai 6th Sep - Drupal Intro
 
Hofmockel ignite ames2010
Hofmockel ignite ames2010Hofmockel ignite ames2010
Hofmockel ignite ames2010
 
Why drupal should power your next web project
Why drupal should power your next web projectWhy drupal should power your next web project
Why drupal should power your next web project
 
Drupal Gardens Overview
Drupal Gardens OverviewDrupal Gardens Overview
Drupal Gardens Overview
 
Drupal by Gaurav Boudh
Drupal by Gaurav BoudhDrupal by Gaurav Boudh
Drupal by Gaurav Boudh
 
Drupal development
Drupal developmentDrupal development
Drupal development
 
State of Drupal keynote, DrupalCon Vienna
State of Drupal keynote, DrupalCon ViennaState of Drupal keynote, DrupalCon Vienna
State of Drupal keynote, DrupalCon Vienna
 
Why Drupal CMS?
Why Drupal CMS?Why Drupal CMS?
Why Drupal CMS?
 
Is Drupal Right for my Website?
Is Drupal Right for my Website?Is Drupal Right for my Website?
Is Drupal Right for my Website?
 
Difference Between WordPress and PHP Websites.pdf
Difference Between WordPress and PHP Websites.pdfDifference Between WordPress and PHP Websites.pdf
Difference Between WordPress and PHP Websites.pdf
 
Drupal Conference on 28th
Drupal Conference on 28thDrupal Conference on 28th
Drupal Conference on 28th
 
Creating an Organizational Culture of Giving Back to Drupal
Creating an Organizational Culture of Giving Back to DrupalCreating an Organizational Culture of Giving Back to Drupal
Creating an Organizational Culture of Giving Back to Drupal
 
Riding the Drupal Wave: The Future for Drupal and Open Source Content Manage...
Riding the Drupal Wave:  The Future for Drupal and Open Source Content Manage...Riding the Drupal Wave:  The Future for Drupal and Open Source Content Manage...
Riding the Drupal Wave: The Future for Drupal and Open Source Content Manage...
 
Drupal Continuous Integration (European Drupal Days 2015)
Drupal Continuous Integration (European Drupal Days 2015)Drupal Continuous Integration (European Drupal Days 2015)
Drupal Continuous Integration (European Drupal Days 2015)
 
Drupal vs Wordpress
Drupal vs WordpressDrupal vs Wordpress
Drupal vs Wordpress
 
Drupal vs. the Others
Drupal vs. the OthersDrupal vs. the Others
Drupal vs. the Others
 
Future Scope of Drupal as a Technology in 2020 and Beyond
Future Scope of Drupal as a Technology in 2020 and BeyondFuture Scope of Drupal as a Technology in 2020 and Beyond
Future Scope of Drupal as a Technology in 2020 and Beyond
 
Drupal in 5
Drupal in 5Drupal in 5
Drupal in 5
 
Dockerizing An Angular Application Using Git, Jenkins & Docker! | DevOps Tuto...
Dockerizing An Angular Application Using Git, Jenkins & Docker! | DevOps Tuto...Dockerizing An Angular Application Using Git, Jenkins & Docker! | DevOps Tuto...
Dockerizing An Angular Application Using Git, Jenkins & Docker! | DevOps Tuto...
 

Último

How to use Ai for UX UI Design | ChatGPT
How to use Ai for UX UI Design | ChatGPTHow to use Ai for UX UI Design | ChatGPT
How to use Ai for UX UI Design | ChatGPTThink 360 Studio
 
Models of Disability - an overview by Marno Retief & Rantoa Letšosa
Models of Disability - an overview by Marno Retief & Rantoa LetšosaModels of Disability - an overview by Marno Retief & Rantoa Letšosa
Models of Disability - an overview by Marno Retief & Rantoa Letšosaannemarleenolthof1
 
WCM Branding Agency | 210519 - Portfolio Review (F&B) -s.pptx
WCM Branding Agency | 210519 - Portfolio Review (F&B) -s.pptxWCM Branding Agency | 210519 - Portfolio Review (F&B) -s.pptx
WCM Branding Agency | 210519 - Portfolio Review (F&B) -s.pptxHasan S
 
Unlocking Conversion_ The Art of Turning Visitors into Loyal Customers.pdf
Unlocking Conversion_ The Art of Turning Visitors into Loyal Customers.pdfUnlocking Conversion_ The Art of Turning Visitors into Loyal Customers.pdf
Unlocking Conversion_ The Art of Turning Visitors into Loyal Customers.pdfIBM
 
UX Conference on UX Research Trends in 2024
UX Conference on UX Research Trends in 2024UX Conference on UX Research Trends in 2024
UX Conference on UX Research Trends in 2024mikailaoh
 
Math Group 3 Presentation OLOLOLOLILOOLLOLOL
Math Group 3 Presentation OLOLOLOLILOOLLOLOLMath Group 3 Presentation OLOLOLOLILOOLLOLOL
Math Group 3 Presentation OLOLOLOLILOOLLOLOLkenzukiri
 
UI UX Process for SaaS Product Design Success
UI UX Process for SaaS Product Design SuccessUI UX Process for SaaS Product Design Success
UI UX Process for SaaS Product Design SuccessThink 360 Studio
 
Embroidery design from embroidery magazine
Embroidery design from embroidery magazineEmbroidery design from embroidery magazine
Embroidery design from embroidery magazineRivanEleraki
 
Introduce Trauma-Informed Design to Your Organization - CSUN ATC 2024
Introduce Trauma-Informed Design to Your Organization - CSUN ATC 2024Introduce Trauma-Informed Design to Your Organization - CSUN ATC 2024
Introduce Trauma-Informed Design to Your Organization - CSUN ATC 2024Ted Drake
 
Khushi sharma undergraduate portfolio...
Khushi sharma undergraduate portfolio...Khushi sharma undergraduate portfolio...
Khushi sharma undergraduate portfolio...khushisharma298853
 
The future of UX design support tools - talk Paris March 2024
The future of UX design support tools - talk Paris March 2024The future of UX design support tools - talk Paris March 2024
The future of UX design support tools - talk Paris March 2024Alan Dix
 
Design mental models for managing large-scale dbt projects. March 21, 2024 in...
Design mental models for managing large-scale dbt projects. March 21, 2024 in...Design mental models for managing large-scale dbt projects. March 21, 2024 in...
Design mental models for managing large-scale dbt projects. March 21, 2024 in...Ed Orozco
 
AMBER GRAIN EMBROIDERY | Growing folklore elements | Barbara Rakovska
AMBER GRAIN EMBROIDERY | Growing folklore elements | Barbara RakovskaAMBER GRAIN EMBROIDERY | Growing folklore elements | Barbara Rakovska
AMBER GRAIN EMBROIDERY | Growing folklore elements | Barbara RakovskaBarusRa
 
Construction Documents Checklist before Construction
Construction Documents Checklist before ConstructionConstruction Documents Checklist before Construction
Construction Documents Checklist before ConstructionResDraft
 
High-Quality Faux Embroidery Services | Cre8iveSkill
High-Quality Faux Embroidery Services | Cre8iveSkillHigh-Quality Faux Embroidery Services | Cre8iveSkill
High-Quality Faux Embroidery Services | Cre8iveSkillCre8iveskill
 
LRFD Bridge Design Specifications-AASHTO (2014).pdf
LRFD Bridge Design Specifications-AASHTO (2014).pdfLRFD Bridge Design Specifications-AASHTO (2014).pdf
LRFD Bridge Design Specifications-AASHTO (2014).pdfHctorFranciscoSnchez1
 
Create Funeral Invites Online @ feedvu.com
Create Funeral Invites Online @ feedvu.comCreate Funeral Invites Online @ feedvu.com
Create Funeral Invites Online @ feedvu.comjakyjhon00
 
Designing for privacy: 3 essential UX habits for product teams
Designing for privacy: 3 essential UX habits for product teamsDesigning for privacy: 3 essential UX habits for product teams
Designing for privacy: 3 essential UX habits for product teamsBlock Party
 

Último (18)

How to use Ai for UX UI Design | ChatGPT
How to use Ai for UX UI Design | ChatGPTHow to use Ai for UX UI Design | ChatGPT
How to use Ai for UX UI Design | ChatGPT
 
Models of Disability - an overview by Marno Retief & Rantoa Letšosa
Models of Disability - an overview by Marno Retief & Rantoa LetšosaModels of Disability - an overview by Marno Retief & Rantoa Letšosa
Models of Disability - an overview by Marno Retief & Rantoa Letšosa
 
WCM Branding Agency | 210519 - Portfolio Review (F&B) -s.pptx
WCM Branding Agency | 210519 - Portfolio Review (F&B) -s.pptxWCM Branding Agency | 210519 - Portfolio Review (F&B) -s.pptx
WCM Branding Agency | 210519 - Portfolio Review (F&B) -s.pptx
 
Unlocking Conversion_ The Art of Turning Visitors into Loyal Customers.pdf
Unlocking Conversion_ The Art of Turning Visitors into Loyal Customers.pdfUnlocking Conversion_ The Art of Turning Visitors into Loyal Customers.pdf
Unlocking Conversion_ The Art of Turning Visitors into Loyal Customers.pdf
 
UX Conference on UX Research Trends in 2024
UX Conference on UX Research Trends in 2024UX Conference on UX Research Trends in 2024
UX Conference on UX Research Trends in 2024
 
Math Group 3 Presentation OLOLOLOLILOOLLOLOL
Math Group 3 Presentation OLOLOLOLILOOLLOLOLMath Group 3 Presentation OLOLOLOLILOOLLOLOL
Math Group 3 Presentation OLOLOLOLILOOLLOLOL
 
UI UX Process for SaaS Product Design Success
UI UX Process for SaaS Product Design SuccessUI UX Process for SaaS Product Design Success
UI UX Process for SaaS Product Design Success
 
Embroidery design from embroidery magazine
Embroidery design from embroidery magazineEmbroidery design from embroidery magazine
Embroidery design from embroidery magazine
 
Introduce Trauma-Informed Design to Your Organization - CSUN ATC 2024
Introduce Trauma-Informed Design to Your Organization - CSUN ATC 2024Introduce Trauma-Informed Design to Your Organization - CSUN ATC 2024
Introduce Trauma-Informed Design to Your Organization - CSUN ATC 2024
 
Khushi sharma undergraduate portfolio...
Khushi sharma undergraduate portfolio...Khushi sharma undergraduate portfolio...
Khushi sharma undergraduate portfolio...
 
The future of UX design support tools - talk Paris March 2024
The future of UX design support tools - talk Paris March 2024The future of UX design support tools - talk Paris March 2024
The future of UX design support tools - talk Paris March 2024
 
Design mental models for managing large-scale dbt projects. March 21, 2024 in...
Design mental models for managing large-scale dbt projects. March 21, 2024 in...Design mental models for managing large-scale dbt projects. March 21, 2024 in...
Design mental models for managing large-scale dbt projects. March 21, 2024 in...
 
AMBER GRAIN EMBROIDERY | Growing folklore elements | Barbara Rakovska
AMBER GRAIN EMBROIDERY | Growing folklore elements | Barbara RakovskaAMBER GRAIN EMBROIDERY | Growing folklore elements | Barbara Rakovska
AMBER GRAIN EMBROIDERY | Growing folklore elements | Barbara Rakovska
 
Construction Documents Checklist before Construction
Construction Documents Checklist before ConstructionConstruction Documents Checklist before Construction
Construction Documents Checklist before Construction
 
High-Quality Faux Embroidery Services | Cre8iveSkill
High-Quality Faux Embroidery Services | Cre8iveSkillHigh-Quality Faux Embroidery Services | Cre8iveSkill
High-Quality Faux Embroidery Services | Cre8iveSkill
 
LRFD Bridge Design Specifications-AASHTO (2014).pdf
LRFD Bridge Design Specifications-AASHTO (2014).pdfLRFD Bridge Design Specifications-AASHTO (2014).pdf
LRFD Bridge Design Specifications-AASHTO (2014).pdf
 
Create Funeral Invites Online @ feedvu.com
Create Funeral Invites Online @ feedvu.comCreate Funeral Invites Online @ feedvu.com
Create Funeral Invites Online @ feedvu.com
 
Designing for privacy: 3 essential UX habits for product teams
Designing for privacy: 3 essential UX habits for product teamsDesigning for privacy: 3 essential UX habits for product teams
Designing for privacy: 3 essential UX habits for product teams
 

Docker 4 Drupal Themes | Design 4 Drupal Boston 2015

Notas del editor

  1. PAUSE! Then intro MD Drupal group and USDA work. Ignore other content.
  2. Introduce slide content
  3. It is pretty darn cool! Company valuation went up $500M in last round funding Analysts believe Microsoft may buy company
  4. Containers allow you to share a single VM with multiple applications. - Ease New Developer On-Boarding - Skip waiting for development tool installs & access - Allow dev to test/break system locally - Learning system setup locally means developer acclimates to production - With less VMs or physical machines, you can reduce hosting fees and sys admin labor - Scale horizontally when ready Manage configuration during buildout without additional steps. Build and test the locally or remotely, and reuse on all environments (No it’s not java!). Systems deployments are more successful - Devs can inject system dependencies prior to sys admin deployment - Compose implementation can import all dependencies
  5. Traditional VMs are like trucks. VMS are not stateless and can change when you start them. Sys admins sets up a new machine by loading a bunch of services that drive your application. Application need to handle more traffic, you move the services to other machines to scale horizontally.
  6. Docker containers work like a rocket. They’re nimble, fast, and serve a specific purpose. Container technology has been around a while.
  7. Concept of containerization - shared kernel, own processes and network space. Docker makes it really easy, but didn’t invent containers (LXC). - http://en.wikipedia.org/wiki/LXC Started as dot cloud polyglot (multiple language) hosting Containers are built in to systemd (basic OS building block) already.
  8. Explain the tools to leverage Docker
  9. One process - one container Lots of shell scripts provisioning a container on run? Think about what you are doing. Don’t ssh to your containers. (exec bash) Don’t put everything in one container.
  10. LAMP Stack might run on a VM The stack consists of two containers running a few logically grouped service
  11. This is a transition slide for commands to use docker
  12. Explain commands
  13. The build commands for a container
  14. This is a portion of the usdaeas/lap-docker Dockerfile. Dockerfiles are scripted images.
  15. The build commands for a container. Multiple versions of a container. Only need one build/image.
  16. Start and stop a container Can have multiple instances of a container
  17. Look how fast you can start a service!
  18. Use a shared volume on the host. Containers are stateless and you’ll lose your data if you kill your container. Data can be remapped to a new container after updates.
  19. Secured Socket connection between two defined containers
  20. Checking in compiled sass usually causes merge conflicts with multiple developers Let the remote deployment and test server perform the final compilation Easier approval and use of Docker in government on Windows machines Redistributable working software packages
  21. Show existing containers in use.
  22. Run the silarsis/yeoman container
  23. Access bash within the container after run, then show the mounted www folder
  24. Enter ctrl + p, then ctrl + q to detach from the container. Run docker ps to show the containers are running.
  25. Execute bash inside of the container. Navigation to your sites directory.
  26. Install the generator-drupal-theme The npm install command comes right from the Aurora theme page. No need for yeoman! It’s already installed. switch to regular use again
  27. Go through the usual yeoman theme setup.
  28. Complete the install and the Drupal files are generated. Let’s exit and switch to the dev container.
  29. Exec into the standard usdaeas/lap-docker container. Change directory into the drupal sites/all/themes/new theme
  30. Perform the usual gem install bundler
  31. Gemfile now exists with appropriate versions.
  32. Problem: Default POSIX does not handle all characters Set a utf-8 environment variable.
  33. Start compass watch to poll and overwrite files.
  34. New changes to sass files are captured and update the style.css.
  35. Thanks for attending. If you liked the session, consider following on Twitter. I post technical and strategic information related to Docker, general sys admin practices, and web application development. Open for questions.