SlideShare a Scribd company logo
Gerald Z. Villorente, VielSoft Ltd Co.
Drupal | Linux | DevOps | FOSS Advocate | Father
Drupal Camp Vietnam 2016, Hanoi University of Science and Technology - Hanoi, Vietnam
Of Docker and
Drupal
customizable and reusable environment
About Me | V tôiề
●
Drupal developer
●
Linux enthusiast
●
Advocate of free education
●
Managing Director, VielSoft Ltd Co.
●
Docker and OpenStack enthusiast
●
DevOps
●
Beer
●
A father
Of Docker and Drupal
Of Docker and Drupal
Introducing Docker
Gi i thi u Dockerớ ệ
What is Docker?
Docker là gì?
So what Docker is?
Docker allows you to package an application with
all of its dependencies into a standardized unit for
software development.
Docker containers wrap up a piece of software in a
complete filesystem that contains everything it
needs to run: code, runtime, system tools, system
libraries – anything you can install on a server.
This guarantees that it will always run the same,
regardless of the environment it is running in.
Of Docker and Drupal
What is a Container?
Container là gì??
is a set of processes which have been
isolated together by the Linux kernel
Why Docker?
T i sao Docker?ạ
Lightweight
Tr ng lư ng nhọ ợ ẹ
Portable
di đ ngộ
Isolation
Bi t l pệ ậ
Consistent Environments
môi trư ng phù h pờ ợ
Developer: Build Once, Run
Anywhere
●
A clean, safe, hygienic and portable runtime environment for your app.
●
No worries about missing dependencies, packages and other pain
points during subsequent deployments.
●
Run each app in its isolated container.
●
Automate testing, integration, packaging...anything you can script
●
Reduce/eliminate concerns about compatibility on different platforms,
either your own or your customers.
●
Install replay and reset of image snapshots.
●
Almost no overhead (think about VM).
DevOps: Configure Once, Run
Anything
●
Make the entire lifecycle more efficient, consistent, and repeatable.
●
Increase the quality of code produced by developers.
●
Eliminate inconsistencies between development, test, production,
and customer environments.
●
Support segregation of duties.
●
Significantly improves the speed and reliability of continuous
deployment and continuous integration systems.
●
Because the containers are so lightweight, address significant
performance, costs, deployment, and portability issues normally
associated with VMs.
Of Docker and Drupal
Dockerfile
A Dockerfile is a text document that contains all the
commands a user could call on the command line to
assemble an image.
How to check the existence of
Docker Engine?
Làm th nào đ ki m tra s t nế ể ể ự ồ
t i c a Docker Engine?ạ ủ
How to check Docker version?
Làm th nào đ ki m tra phiênế ể ể
b n Docker?ả
Working with Docker Images
Làm vi c v i Dockerệ ớ
How to create an image?
Làm th nào đ t o ra m tế ể ạ ộ
image?
$ cd [DOCKERFILE-DIR]
$ docker build .
How to pull a pre-built image?
Làm th nào đ pull m t imageế ể ộ
đư c xây d ng trư c?ợ ự ớ
$ docker pull geraldvillorente/ubuntu-base
How to rebuild the image?
Làm th nào đ xây d ng l iế ể ự ạ
image?
$ docker build --no-cache .
Or
$ docker build -t geraldvillorente/drupal7:3.0 .
How to list Docker images?
Làm th nào đ li t kê các imageế ể ệ
Docker?
$ docker images
How to delete an image?
Làm th nào đ xóa image?ế ể
$ docker rmi [IMAGE_ID]
How to create a version?
Làm th nào đ t o ra m t phiênế ể ạ ộ
b n?ả
$ docker tag [IMAGE ID] geraldvillorente/drupal7:latest
$ docker tag [IMAGE ID] geraldvillorente/drupal7:2.0
How to push to a remote
repository?
Làm th nào đ push đ n m tế ể ế ộ
kho lưu tr t xa?ữ ừ
$ docker login
$ docker push geraldvillorente/drupal7:2.2
Working with Docker Containers
Làm vi c v i Docker Containersệ ớ
How to create Docker container?
Làm th nào đ t o ra Dockerế ể ạ
container?
$ docker run [IMAGE_ID]
$ docker run --name d7memcache -d [IMAGE_ID]
Where “d7memcache” is the name of the container and
“-d” is to tell Docker to run the “d7memcache” container in
background and “[IMAGE_ID]” is the Docker image that we
want to load in the container.
How to SSH in Docker container?
Làm th nào đ SSH vào Dockerế ể
container?
$ docker exec -it [CONTAINER_ID] bin/bash
Or
$ docker exec -it [CONTAINER_NAME] bin/bash
How to link Docker containers?
Làm th nào đ liên k t Dockerế ể ế
container?
$ docker run --name db_d7_vietnam -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6
Where “db_d7_vietnam” is the name of the container and “123456” is root password and
“mysql:5.6” is the Docker image.
$ docker run --name web_apache2 --link db_d7_vietnam:db_d7_vietnam -d -p 49980:80 -v
/home/gerald/Web/drupal7/www:/var/www/html [WEB_IMAGE_ID]
Where “web_apache2” is the name of the web app and “49980” is the http port mapped to port 80
of the web container and “/home/gerald/Web/drupal7/www” is the location of Drupal project and
“/var/www/html” is the mount point inside Docker container and “[WEB_IMAGE_ID]” is the ID of
Docker image containing Apache and PHP stuff.
How to stop a container?
Làm th nào đ d ng m tế ể ừ ộ
container?
$ docker stop [CONTAINER_ID]
Or
$ docker stop [CONTAINER_NAME]
How to start a container?
Làm th nào đ b t đ u m tế ể ắ ầ ộ
container?
$ docker start [CONTAINER_ID]
Or
$ docker start [CONTAINER_NAME]
How to inspect a container?
Làm th nào đ ki m tra m tế ể ể ộ
container?
$ docker inspect [CONTAINER_ID]
Or
$ docker inspect [CONTAINER_NAME]
# Checking linked container/s
$ docker inspect -f "{{ .HostConfig.Links }}" [CONTAINER_ID]
# Checking environment variables
$ docker inspect -f "{{ .Config.Env }}" [CONTAINER_ID]
How to check container logs?
Làm th nào đ ki m tra cácế ể ể
container log?
$ docker logs [CONTAINER_ID]
How to check container
processes?
Làm th nào đ ki m tra quáế ể ể
trình container?
$ docker top [CONTAINER_ID]
How to delete a container?
Làm th nào đ xóa m tế ể ộ
container?
$ docker rm [CONTAINER_ID]
How to list Docker containers?
Làm th nào đ li t kê Dockerế ể ệ
containers?
# To list running containers
$ docker ps
# To list all containers
$ docker ps -a
Accessing the App?
Truy c p ng d ng?ậ ứ ụ
http://localhost:49980
Assigning VHOST to Docker
Ports?
Gán VHOST đ n c ng Docker ?ế ổ
http://jasonwilder.com/blog/2014/03/2
5/automated-nginx-reverse-proxy-for-
docker/
In case you need more help
Trong trư ng h p b n c n thêmờ ợ ạ ầ
tr giúpợ
●
https://training.docker.com/
●
http://learningdocker.com/
●
https://github.com/dwyl/learn-docker
●
https://www.youtube.com/watch?v=Q5POuMHxW-0
●
https://www.youtube.com/watch?v=VeiUjkiqo9E
●
http://build-podcast.com/docker/
Question?
Câu h i?ỏ
Contact | Liên Hệ
●
Skype : gerald.villorente
●
Website: https://vielsoft.com
●
Hangout : geraldvillorente@gmail.com
●
Email: gerald@vielsoft.com
●
Github: https://github.com/VielSoft
●
Facebook: https://fb.com/VielSoft
●
Mobile: +639167332641
Thank you | Salamat
C m ơn b nả ạ
Disclaimer
All images and other content used in this
presentation are borrowed from the internet.
Therefore, all rights reserved to the original
owner.
Ad

More Related Content

What's hot (20)

Exploring composer in drupal 8 with drupal project - salva molina
Exploring composer in drupal 8 with drupal project - salva molinaExploring composer in drupal 8 with drupal project - salva molina
Exploring composer in drupal 8 with drupal project - salva molina
Salvador Molina (Slv_)
 
Docker, Ansible and Symfony micro-kernel
Docker, Ansible and Symfony micro-kernelDocker, Ansible and Symfony micro-kernel
Docker, Ansible and Symfony micro-kernel
DrupalCamp Kyiv
 
Using deploy in drupal 8
Using deploy in drupal 8Using deploy in drupal 8
Using deploy in drupal 8
timmillwood
 
Using Composer with Drupal and Drush
Using Composer with Drupal and DrushUsing Composer with Drupal and Drush
Using Composer with Drupal and Drush
Pantheon
 
Cloud expo-east-2015
Cloud expo-east-2015Cloud expo-east-2015
Cloud expo-east-2015
argvader
 
Migration from drupal 7 to drupal 8
Migration from drupal 7 to drupal 8Migration from drupal 7 to drupal 8
Migration from drupal 7 to drupal 8
Krzysztof (Chris) Ozog
 
Migration from Drupal 7 to Drupal 8 - How Docker can save our lives!
Migration from Drupal 7 to Drupal 8 - How Docker can save our lives!Migration from Drupal 7 to Drupal 8 - How Docker can save our lives!
Migration from Drupal 7 to Drupal 8 - How Docker can save our lives!
DrupalCamp Kyiv
 
Docker as a Multitool: DevOps with Docker at Azure Bootcamp Linz 2017
Docker as a Multitool: DevOps with Docker at Azure Bootcamp Linz 2017Docker as a Multitool: DevOps with Docker at Azure Bootcamp Linz 2017
Docker as a Multitool: DevOps with Docker at Azure Bootcamp Linz 2017
Usersnap
 
Lean Drupal Repositories with Composer and Drush
Lean Drupal Repositories with Composer and DrushLean Drupal Repositories with Composer and Drush
Lean Drupal Repositories with Composer and Drush
Pantheon
 
Desarrollo web backend: Spring Boot, MongoDB y Azure
Desarrollo web backend: Spring Boot, MongoDB y AzureDesarrollo web backend: Spring Boot, MongoDB y Azure
Desarrollo web backend: Spring Boot, MongoDB y Azure
Patxi Gortázar
 
Drupalhagen 2014 kiss omg ftw
Drupalhagen 2014   kiss omg ftwDrupalhagen 2014   kiss omg ftw
Drupalhagen 2014 kiss omg ftw
Arne Jørgensen
 
Help! I inherited a Drupal Site! - DrupalCamp Atlanta 2016
Help! I inherited a Drupal Site! - DrupalCamp Atlanta 2016Help! I inherited a Drupal Site! - DrupalCamp Atlanta 2016
Help! I inherited a Drupal Site! - DrupalCamp Atlanta 2016
Paul McKibben
 
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
MarcinStachniuk
 
DevTools Package Development
 DevTools Package Development DevTools Package Development
DevTools Package Development
Sagar Deogirkar
 
Terminus, the Pantheon command-line interface
Terminus, the Pantheon command-line interfaceTerminus, the Pantheon command-line interface
Terminus, the Pantheon command-line interface
Jon Peck
 
Docker & PHP - Practical use case
Docker & PHP - Practical use caseDocker & PHP - Practical use case
Docker & PHP - Practical use case
rjsmelo
 
Drush in the Composer Era
Drush in the Composer EraDrush in the Composer Era
Drush in the Composer Era
Pantheon
 
Bower & Grunt - A practical workflow
Bower & Grunt - A practical workflowBower & Grunt - A practical workflow
Bower & Grunt - A practical workflow
Riccardo Coppola
 
Bower - A package manager for the web
Bower - A package manager for the webBower - A package manager for the web
Bower - A package manager for the web
Larry Nung
 
Git: be social
Git: be socialGit: be social
Git: be social
Geronimo Orozco
 
Exploring composer in drupal 8 with drupal project - salva molina
Exploring composer in drupal 8 with drupal project - salva molinaExploring composer in drupal 8 with drupal project - salva molina
Exploring composer in drupal 8 with drupal project - salva molina
Salvador Molina (Slv_)
 
Docker, Ansible and Symfony micro-kernel
Docker, Ansible and Symfony micro-kernelDocker, Ansible and Symfony micro-kernel
Docker, Ansible and Symfony micro-kernel
DrupalCamp Kyiv
 
Using deploy in drupal 8
Using deploy in drupal 8Using deploy in drupal 8
Using deploy in drupal 8
timmillwood
 
Using Composer with Drupal and Drush
Using Composer with Drupal and DrushUsing Composer with Drupal and Drush
Using Composer with Drupal and Drush
Pantheon
 
Cloud expo-east-2015
Cloud expo-east-2015Cloud expo-east-2015
Cloud expo-east-2015
argvader
 
Migration from Drupal 7 to Drupal 8 - How Docker can save our lives!
Migration from Drupal 7 to Drupal 8 - How Docker can save our lives!Migration from Drupal 7 to Drupal 8 - How Docker can save our lives!
Migration from Drupal 7 to Drupal 8 - How Docker can save our lives!
DrupalCamp Kyiv
 
Docker as a Multitool: DevOps with Docker at Azure Bootcamp Linz 2017
Docker as a Multitool: DevOps with Docker at Azure Bootcamp Linz 2017Docker as a Multitool: DevOps with Docker at Azure Bootcamp Linz 2017
Docker as a Multitool: DevOps with Docker at Azure Bootcamp Linz 2017
Usersnap
 
Lean Drupal Repositories with Composer and Drush
Lean Drupal Repositories with Composer and DrushLean Drupal Repositories with Composer and Drush
Lean Drupal Repositories with Composer and Drush
Pantheon
 
Desarrollo web backend: Spring Boot, MongoDB y Azure
Desarrollo web backend: Spring Boot, MongoDB y AzureDesarrollo web backend: Spring Boot, MongoDB y Azure
Desarrollo web backend: Spring Boot, MongoDB y Azure
Patxi Gortázar
 
Drupalhagen 2014 kiss omg ftw
Drupalhagen 2014   kiss omg ftwDrupalhagen 2014   kiss omg ftw
Drupalhagen 2014 kiss omg ftw
Arne Jørgensen
 
Help! I inherited a Drupal Site! - DrupalCamp Atlanta 2016
Help! I inherited a Drupal Site! - DrupalCamp Atlanta 2016Help! I inherited a Drupal Site! - DrupalCamp Atlanta 2016
Help! I inherited a Drupal Site! - DrupalCamp Atlanta 2016
Paul McKibben
 
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
Continuous Delivery w projekcie Open Source - Marcin Stachniuk - DevCrowd 2017
MarcinStachniuk
 
DevTools Package Development
 DevTools Package Development DevTools Package Development
DevTools Package Development
Sagar Deogirkar
 
Terminus, the Pantheon command-line interface
Terminus, the Pantheon command-line interfaceTerminus, the Pantheon command-line interface
Terminus, the Pantheon command-line interface
Jon Peck
 
Docker & PHP - Practical use case
Docker & PHP - Practical use caseDocker & PHP - Practical use case
Docker & PHP - Practical use case
rjsmelo
 
Drush in the Composer Era
Drush in the Composer EraDrush in the Composer Era
Drush in the Composer Era
Pantheon
 
Bower & Grunt - A practical workflow
Bower & Grunt - A practical workflowBower & Grunt - A practical workflow
Bower & Grunt - A practical workflow
Riccardo Coppola
 
Bower - A package manager for the web
Bower - A package manager for the webBower - A package manager for the web
Bower - A package manager for the web
Larry Nung
 

Similar to Of Docker and Drupal (20)

Docker-Presentation.pptx
Docker-Presentation.pptxDocker-Presentation.pptx
Docker-Presentation.pptx
Vipobav
 
DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline  DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline
Docker, Inc.
 
Introduction To Docker
Introduction To DockerIntroduction To Docker
Introduction To Docker
Hamilton Turner
 
Docker Starter Pack
Docker Starter PackDocker Starter Pack
Docker Starter Pack
Saeed Hajizade
 
Up and running with docker
Up and running with dockerUp and running with docker
Up and running with docker
Michelle Liu
 
[@NaukriEngineering] Docker 101
[@NaukriEngineering] Docker 101[@NaukriEngineering] Docker 101
[@NaukriEngineering] Docker 101
Naukri.com
 
Containers without docker | DevNation Tech Talk
Containers without docker | DevNation Tech TalkContainers without docker | DevNation Tech Talk
Containers without docker | DevNation Tech Talk
Red Hat Developers
 
Docker for Developers
Docker for DevelopersDocker for Developers
Docker for Developers
JasonStraughan1
 
Docker puebla bday #4 celebration
Docker puebla bday #4 celebrationDocker puebla bday #4 celebration
Docker puebla bday #4 celebration
Ramon Morales
 
Docker Command Line, Using and Choosing containers
Docker Command Line, Using and Choosing containers Docker Command Line, Using and Choosing containers
Docker Command Line, Using and Choosing containers
Will Hall
 
Docker Introductory workshop
Docker Introductory workshopDocker Introductory workshop
Docker Introductory workshop
Runcy Oommen
 
Docker, what's next ?
Docker, what's next ?Docker, what's next ?
Docker, what's next ?
DevOps Indonesia
 
Docker by Example - Basics
Docker by Example - Basics Docker by Example - Basics
Docker by Example - Basics
CodeOps Technologies LLP
 
Docker engine - Indroduc
Docker engine - IndroducDocker engine - Indroduc
Docker engine - Indroduc
Al Gifari
 
Docker Kubernetes Istio
Docker Kubernetes IstioDocker Kubernetes Istio
Docker Kubernetes Istio
Araf Karsh Hamid
 
[Codelab 2017] Docker 기초 및 활용 방안
[Codelab 2017] Docker 기초 및 활용 방안[Codelab 2017] Docker 기초 및 활용 방안
[Codelab 2017] Docker 기초 및 활용 방안
양재동 코드랩
 
Docker workshop GDSC_CSSC
Docker workshop GDSC_CSSCDocker workshop GDSC_CSSC
Docker workshop GDSC_CSSC
GDSC UofT Mississauga
 
Primi passi con Docker - ItalianCoders - 12-01-2021
Primi passi con Docker - ItalianCoders - 12-01-2021Primi passi con Docker - ItalianCoders - 12-01-2021
Primi passi con Docker - ItalianCoders - 12-01-2021
Alessandro Mignogna
 
Docker Introduction.pdf
Docker Introduction.pdfDocker Introduction.pdf
Docker Introduction.pdf
OKLABS
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
Adam Štipák
 
Docker-Presentation.pptx
Docker-Presentation.pptxDocker-Presentation.pptx
Docker-Presentation.pptx
Vipobav
 
DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline  DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline
Docker, Inc.
 
Up and running with docker
Up and running with dockerUp and running with docker
Up and running with docker
Michelle Liu
 
[@NaukriEngineering] Docker 101
[@NaukriEngineering] Docker 101[@NaukriEngineering] Docker 101
[@NaukriEngineering] Docker 101
Naukri.com
 
Containers without docker | DevNation Tech Talk
Containers without docker | DevNation Tech TalkContainers without docker | DevNation Tech Talk
Containers without docker | DevNation Tech Talk
Red Hat Developers
 
Docker puebla bday #4 celebration
Docker puebla bday #4 celebrationDocker puebla bday #4 celebration
Docker puebla bday #4 celebration
Ramon Morales
 
Docker Command Line, Using and Choosing containers
Docker Command Line, Using and Choosing containers Docker Command Line, Using and Choosing containers
Docker Command Line, Using and Choosing containers
Will Hall
 
Docker Introductory workshop
Docker Introductory workshopDocker Introductory workshop
Docker Introductory workshop
Runcy Oommen
 
Docker engine - Indroduc
Docker engine - IndroducDocker engine - Indroduc
Docker engine - Indroduc
Al Gifari
 
[Codelab 2017] Docker 기초 및 활용 방안
[Codelab 2017] Docker 기초 및 활용 방안[Codelab 2017] Docker 기초 및 활용 방안
[Codelab 2017] Docker 기초 및 활용 방안
양재동 코드랩
 
Primi passi con Docker - ItalianCoders - 12-01-2021
Primi passi con Docker - ItalianCoders - 12-01-2021Primi passi con Docker - ItalianCoders - 12-01-2021
Primi passi con Docker - ItalianCoders - 12-01-2021
Alessandro Mignogna
 
Docker Introduction.pdf
Docker Introduction.pdfDocker Introduction.pdf
Docker Introduction.pdf
OKLABS
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
Adam Štipák
 
Ad

More from Gerald Villorente (20)

BITS 2015: The Beauty of Drupal
BITS 2015: The Beauty of DrupalBITS 2015: The Beauty of Drupal
BITS 2015: The Beauty of Drupal
Gerald Villorente
 
Introduction to Drupal - Installation, Anatomy, Terminologies
Introduction to Drupal - Installation, Anatomy, TerminologiesIntroduction to Drupal - Installation, Anatomy, Terminologies
Introduction to Drupal - Installation, Anatomy, Terminologies
Gerald Villorente
 
Consistent Development Environment with Vagrant and Chef
Consistent Development Environment with Vagrant and ChefConsistent Development Environment with Vagrant and Chef
Consistent Development Environment with Vagrant and Chef
Gerald Villorente
 
Drush Deployment Manager: Deployment Made Easy
Drush Deployment Manager: Deployment Made EasyDrush Deployment Manager: Deployment Made Easy
Drush Deployment Manager: Deployment Made Easy
Gerald Villorente
 
Consistent Development Environment using Vagrant and Chef
Consistent Development Environment using Vagrant and ChefConsistent Development Environment using Vagrant and Chef
Consistent Development Environment using Vagrant and Chef
Gerald Villorente
 
Why Drupal is Rockstar?
Why Drupal is Rockstar?Why Drupal is Rockstar?
Why Drupal is Rockstar?
Gerald Villorente
 
DevOps: Cooking Drupal Deployment
DevOps: Cooking Drupal DeploymentDevOps: Cooking Drupal Deployment
DevOps: Cooking Drupal Deployment
Gerald Villorente
 
Drupal Pilipinas Apprentice: LAMP Administration, CSS, and Vagrant
Drupal Pilipinas Apprentice: LAMP Administration, CSS, and VagrantDrupal Pilipinas Apprentice: LAMP Administration, CSS, and Vagrant
Drupal Pilipinas Apprentice: LAMP Administration, CSS, and Vagrant
Gerald Villorente
 
Best Practices: Drupal Development
Best Practices: Drupal DevelopmentBest Practices: Drupal Development
Best Practices: Drupal Development
Gerald Villorente
 
Drupal Deployment and Essential Development Tools - 2nd Edition
Drupal Deployment and Essential Development Tools - 2nd EditionDrupal Deployment and Essential Development Tools - 2nd Edition
Drupal Deployment and Essential Development Tools - 2nd Edition
Gerald Villorente
 
Drupal Deployment and Essential Development Tools
Drupal Deployment and Essential Development ToolsDrupal Deployment and Essential Development Tools
Drupal Deployment and Essential Development Tools
Gerald Villorente
 
Setting Up Cross-Browser Testing Environment (Debian-based System)
Setting Up Cross-Browser Testing Environment  (Debian-based System)Setting Up Cross-Browser Testing Environment  (Debian-based System)
Setting Up Cross-Browser Testing Environment (Debian-based System)
Gerald Villorente
 
Git: Git'ing the Basic
Git: Git'ing the BasicGit: Git'ing the Basic
Git: Git'ing the Basic
Gerald Villorente
 
Anatomy of Drupal
Anatomy of DrupalAnatomy of Drupal
Anatomy of Drupal
Gerald Villorente
 
Drupal Security Hardening
Drupal Security HardeningDrupal Security Hardening
Drupal Security Hardening
Gerald Villorente
 
Drupal Security Hardening
Drupal Security HardeningDrupal Security Hardening
Drupal Security Hardening
Gerald Villorente
 
Drupal Performance and Scaling
Drupal Performance and ScalingDrupal Performance and Scaling
Drupal Performance and Scaling
Gerald Villorente
 
Web Security
Web SecurityWeb Security
Web Security
Gerald Villorente
 
Automating Drupal Deployment
Automating Drupal DeploymentAutomating Drupal Deployment
Automating Drupal Deployment
Gerald Villorente
 
Beginners Guide to Drupal
Beginners Guide to DrupalBeginners Guide to Drupal
Beginners Guide to Drupal
Gerald Villorente
 
BITS 2015: The Beauty of Drupal
BITS 2015: The Beauty of DrupalBITS 2015: The Beauty of Drupal
BITS 2015: The Beauty of Drupal
Gerald Villorente
 
Introduction to Drupal - Installation, Anatomy, Terminologies
Introduction to Drupal - Installation, Anatomy, TerminologiesIntroduction to Drupal - Installation, Anatomy, Terminologies
Introduction to Drupal - Installation, Anatomy, Terminologies
Gerald Villorente
 
Consistent Development Environment with Vagrant and Chef
Consistent Development Environment with Vagrant and ChefConsistent Development Environment with Vagrant and Chef
Consistent Development Environment with Vagrant and Chef
Gerald Villorente
 
Drush Deployment Manager: Deployment Made Easy
Drush Deployment Manager: Deployment Made EasyDrush Deployment Manager: Deployment Made Easy
Drush Deployment Manager: Deployment Made Easy
Gerald Villorente
 
Consistent Development Environment using Vagrant and Chef
Consistent Development Environment using Vagrant and ChefConsistent Development Environment using Vagrant and Chef
Consistent Development Environment using Vagrant and Chef
Gerald Villorente
 
DevOps: Cooking Drupal Deployment
DevOps: Cooking Drupal DeploymentDevOps: Cooking Drupal Deployment
DevOps: Cooking Drupal Deployment
Gerald Villorente
 
Drupal Pilipinas Apprentice: LAMP Administration, CSS, and Vagrant
Drupal Pilipinas Apprentice: LAMP Administration, CSS, and VagrantDrupal Pilipinas Apprentice: LAMP Administration, CSS, and Vagrant
Drupal Pilipinas Apprentice: LAMP Administration, CSS, and Vagrant
Gerald Villorente
 
Best Practices: Drupal Development
Best Practices: Drupal DevelopmentBest Practices: Drupal Development
Best Practices: Drupal Development
Gerald Villorente
 
Drupal Deployment and Essential Development Tools - 2nd Edition
Drupal Deployment and Essential Development Tools - 2nd EditionDrupal Deployment and Essential Development Tools - 2nd Edition
Drupal Deployment and Essential Development Tools - 2nd Edition
Gerald Villorente
 
Drupal Deployment and Essential Development Tools
Drupal Deployment and Essential Development ToolsDrupal Deployment and Essential Development Tools
Drupal Deployment and Essential Development Tools
Gerald Villorente
 
Setting Up Cross-Browser Testing Environment (Debian-based System)
Setting Up Cross-Browser Testing Environment  (Debian-based System)Setting Up Cross-Browser Testing Environment  (Debian-based System)
Setting Up Cross-Browser Testing Environment (Debian-based System)
Gerald Villorente
 
Drupal Performance and Scaling
Drupal Performance and ScalingDrupal Performance and Scaling
Drupal Performance and Scaling
Gerald Villorente
 
Automating Drupal Deployment
Automating Drupal DeploymentAutomating Drupal Deployment
Automating Drupal Deployment
Gerald Villorente
 
Ad

Recently uploaded (20)

Kubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptxKubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptx
CloudScouts
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025
kashifyounis067
 
Maxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINKMaxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINK
younisnoman75
 
Download Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With LatestDownload Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With Latest
tahirabibi60507
 
Automation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath CertificateAutomation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath Certificate
VICTOR MAESTRE RAMIREZ
 
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfMicrosoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
TechSoup
 
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AIScaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
danshalev
 
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
F-Secure Freedome VPN 2025 Crack Plus Activation  New VersionF-Secure Freedome VPN 2025 Crack Plus Activation  New Version
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
saimabibi60507
 
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRYLEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
NidaFarooq10
 
PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025
mu394968
 
Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)
Allon Mureinik
 
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
Andre Hora
 
Landscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature ReviewLandscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature Review
Hironori Washizaki
 
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Orangescrum
 
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Andre Hora
 
WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)
sh607827
 
Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]
saniaaftab72555
 
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage DashboardsAdobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
BradBedford3
 
Societal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainabilitySocietal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainability
Jordi Cabot
 
Kubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptxKubernetes_101_Zero_to_Platform_Engineer.pptx
Kubernetes_101_Zero_to_Platform_Engineer.pptx
CloudScouts
 
Revolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptxRevolutionizing Residential Wi-Fi PPT.pptx
Revolutionizing Residential Wi-Fi PPT.pptx
nidhisingh691197
 
Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025Adobe Master Collection CC Crack Advance Version 2025
Adobe Master Collection CC Crack Advance Version 2025
kashifyounis067
 
Maxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINKMaxon CINEMA 4D 2025 Crack FREE Download LINK
Maxon CINEMA 4D 2025 Crack FREE Download LINK
younisnoman75
 
Download Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With LatestDownload Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With Latest
tahirabibi60507
 
Automation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath CertificateAutomation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath Certificate
VICTOR MAESTRE RAMIREZ
 
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfMicrosoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
TechSoup
 
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AIScaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
danshalev
 
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
F-Secure Freedome VPN 2025 Crack Plus Activation  New VersionF-Secure Freedome VPN 2025 Crack Plus Activation  New Version
F-Secure Freedome VPN 2025 Crack Plus Activation New Version
saimabibi60507
 
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRYLEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
NidaFarooq10
 
PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025PDF Reader Pro Crack Latest Version FREE Download 2025
PDF Reader Pro Crack Latest Version FREE Download 2025
mu394968
 
Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)Who Watches the Watchmen (SciFiDevCon 2025)
Who Watches the Watchmen (SciFiDevCon 2025)
Allon Mureinik
 
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
Andre Hora
 
Landscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature ReviewLandscape of Requirements Engineering for/by AI through Literature Review
Landscape of Requirements Engineering for/by AI through Literature Review
Hironori Washizaki
 
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025Why Orangescrum Is a Game Changer for Construction Companies in 2025
Why Orangescrum Is a Game Changer for Construction Companies in 2025
Orangescrum
 
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Andre Hora
 
WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)WinRAR Crack for Windows (100% Working 2025)
WinRAR Crack for Windows (100% Working 2025)
sh607827
 
Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]
saniaaftab72555
 
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage DashboardsAdobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
Adobe Marketo Engage Champion Deep Dive - SFDC CRM Synch V2 & Usage Dashboards
BradBedford3
 
Societal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainabilitySocietal challenges of AI: biases, multilinguism and sustainability
Societal challenges of AI: biases, multilinguism and sustainability
Jordi Cabot
 

Of Docker and Drupal

  • 1. Gerald Z. Villorente, VielSoft Ltd Co. Drupal | Linux | DevOps | FOSS Advocate | Father Drupal Camp Vietnam 2016, Hanoi University of Science and Technology - Hanoi, Vietnam Of Docker and Drupal customizable and reusable environment
  • 2. About Me | V tôiề ● Drupal developer ● Linux enthusiast ● Advocate of free education ● Managing Director, VielSoft Ltd Co. ● Docker and OpenStack enthusiast ● DevOps ● Beer ● A father
  • 5. Introducing Docker Gi i thi u Dockerớ ệ
  • 7. So what Docker is? Docker allows you to package an application with all of its dependencies into a standardized unit for software development. Docker containers wrap up a piece of software in a complete filesystem that contains everything it needs to run: code, runtime, system tools, system libraries – anything you can install on a server. This guarantees that it will always run the same, regardless of the environment it is running in.
  • 9. What is a Container? Container là gì?? is a set of processes which have been isolated together by the Linux kernel
  • 10. Why Docker? T i sao Docker?ạ
  • 11. Lightweight Tr ng lư ng nhọ ợ ẹ
  • 13. Isolation Bi t l pệ ậ
  • 14. Consistent Environments môi trư ng phù h pờ ợ
  • 15. Developer: Build Once, Run Anywhere ● A clean, safe, hygienic and portable runtime environment for your app. ● No worries about missing dependencies, packages and other pain points during subsequent deployments. ● Run each app in its isolated container. ● Automate testing, integration, packaging...anything you can script ● Reduce/eliminate concerns about compatibility on different platforms, either your own or your customers. ● Install replay and reset of image snapshots. ● Almost no overhead (think about VM).
  • 16. DevOps: Configure Once, Run Anything ● Make the entire lifecycle more efficient, consistent, and repeatable. ● Increase the quality of code produced by developers. ● Eliminate inconsistencies between development, test, production, and customer environments. ● Support segregation of duties. ● Significantly improves the speed and reliability of continuous deployment and continuous integration systems. ● Because the containers are so lightweight, address significant performance, costs, deployment, and portability issues normally associated with VMs.
  • 18. Dockerfile A Dockerfile is a text document that contains all the commands a user could call on the command line to assemble an image.
  • 19. How to check the existence of Docker Engine? Làm th nào đ ki m tra s t nế ể ể ự ồ t i c a Docker Engine?ạ ủ
  • 20. How to check Docker version? Làm th nào đ ki m tra phiênế ể ể b n Docker?ả
  • 21. Working with Docker Images Làm vi c v i Dockerệ ớ
  • 22. How to create an image? Làm th nào đ t o ra m tế ể ạ ộ image? $ cd [DOCKERFILE-DIR] $ docker build .
  • 23. How to pull a pre-built image? Làm th nào đ pull m t imageế ể ộ đư c xây d ng trư c?ợ ự ớ $ docker pull geraldvillorente/ubuntu-base
  • 24. How to rebuild the image? Làm th nào đ xây d ng l iế ể ự ạ image? $ docker build --no-cache . Or $ docker build -t geraldvillorente/drupal7:3.0 .
  • 25. How to list Docker images? Làm th nào đ li t kê các imageế ể ệ Docker? $ docker images
  • 26. How to delete an image? Làm th nào đ xóa image?ế ể $ docker rmi [IMAGE_ID]
  • 27. How to create a version? Làm th nào đ t o ra m t phiênế ể ạ ộ b n?ả $ docker tag [IMAGE ID] geraldvillorente/drupal7:latest $ docker tag [IMAGE ID] geraldvillorente/drupal7:2.0
  • 28. How to push to a remote repository? Làm th nào đ push đ n m tế ể ế ộ kho lưu tr t xa?ữ ừ $ docker login $ docker push geraldvillorente/drupal7:2.2
  • 29. Working with Docker Containers Làm vi c v i Docker Containersệ ớ
  • 30. How to create Docker container? Làm th nào đ t o ra Dockerế ể ạ container? $ docker run [IMAGE_ID] $ docker run --name d7memcache -d [IMAGE_ID] Where “d7memcache” is the name of the container and “-d” is to tell Docker to run the “d7memcache” container in background and “[IMAGE_ID]” is the Docker image that we want to load in the container.
  • 31. How to SSH in Docker container? Làm th nào đ SSH vào Dockerế ể container? $ docker exec -it [CONTAINER_ID] bin/bash Or $ docker exec -it [CONTAINER_NAME] bin/bash
  • 32. How to link Docker containers? Làm th nào đ liên k t Dockerế ể ế container? $ docker run --name db_d7_vietnam -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6 Where “db_d7_vietnam” is the name of the container and “123456” is root password and “mysql:5.6” is the Docker image. $ docker run --name web_apache2 --link db_d7_vietnam:db_d7_vietnam -d -p 49980:80 -v /home/gerald/Web/drupal7/www:/var/www/html [WEB_IMAGE_ID] Where “web_apache2” is the name of the web app and “49980” is the http port mapped to port 80 of the web container and “/home/gerald/Web/drupal7/www” is the location of Drupal project and “/var/www/html” is the mount point inside Docker container and “[WEB_IMAGE_ID]” is the ID of Docker image containing Apache and PHP stuff.
  • 33. How to stop a container? Làm th nào đ d ng m tế ể ừ ộ container? $ docker stop [CONTAINER_ID] Or $ docker stop [CONTAINER_NAME]
  • 34. How to start a container? Làm th nào đ b t đ u m tế ể ắ ầ ộ container? $ docker start [CONTAINER_ID] Or $ docker start [CONTAINER_NAME]
  • 35. How to inspect a container? Làm th nào đ ki m tra m tế ể ể ộ container? $ docker inspect [CONTAINER_ID] Or $ docker inspect [CONTAINER_NAME] # Checking linked container/s $ docker inspect -f "{{ .HostConfig.Links }}" [CONTAINER_ID] # Checking environment variables $ docker inspect -f "{{ .Config.Env }}" [CONTAINER_ID]
  • 36. How to check container logs? Làm th nào đ ki m tra cácế ể ể container log? $ docker logs [CONTAINER_ID]
  • 37. How to check container processes? Làm th nào đ ki m tra quáế ể ể trình container? $ docker top [CONTAINER_ID]
  • 38. How to delete a container? Làm th nào đ xóa m tế ể ộ container? $ docker rm [CONTAINER_ID]
  • 39. How to list Docker containers? Làm th nào đ li t kê Dockerế ể ệ containers? # To list running containers $ docker ps # To list all containers $ docker ps -a
  • 40. Accessing the App? Truy c p ng d ng?ậ ứ ụ
  • 42. Assigning VHOST to Docker Ports? Gán VHOST đ n c ng Docker ?ế ổ
  • 44. In case you need more help Trong trư ng h p b n c n thêmờ ợ ạ ầ tr giúpợ ● https://training.docker.com/ ● http://learningdocker.com/ ● https://github.com/dwyl/learn-docker ● https://www.youtube.com/watch?v=Q5POuMHxW-0 ● https://www.youtube.com/watch?v=VeiUjkiqo9E ● http://build-podcast.com/docker/
  • 46. Contact | Liên Hệ ● Skype : gerald.villorente ● Website: https://vielsoft.com ● Hangout : [email protected] ● Email: [email protected] ● Github: https://github.com/VielSoft ● Facebook: https://fb.com/VielSoft ● Mobile: +639167332641
  • 47. Thank you | Salamat C m ơn b nả ạ
  • 48. Disclaimer All images and other content used in this presentation are borrowed from the internet. Therefore, all rights reserved to the original owner.