SlideShare une entreprise Scribd logo
1  sur  53
Télécharger pour lire hors ligne
DDEV
Jigal van Hemert
jigal.van.hemert@typo3.org
@jigalvh
Docker made easy
D-WHAT??
23-06-2018 ddev: docker made easy 2
CONTAINERS - DOCKER
 Lightweight virtual machine
 Linux based, compressed
 Supported by major virtualization players
 Supported in deployment solutions
23-06-2018 ddev: docker made easy 3
DDEV - DOCKER
 DDEV:
 pre-built containers
 configuration for WordPress, Drupal,
Backdrop, TYPO3
 Contains: db, nginx, solr, PHP 5.6-7.2, xdebug
 Your own additional services
23-06-2018 ddev: docker made easy 4
WORKSHOP
23-06-2018 ddev: docker made easy 5
AGENDA
23-06-2018 6ddev: docker made easy
1. Requirements
2. Installation
3. Project configuration
4. Daily use
5. Extending the configuration
REQUIREMENTS
What do I need to run ddev?
23-06-2018 ddev: docker made easy 7
REQUIREMENTS
 Docker version 17.05 or higher
 Docker compose 1.10.0 or higher
 macOS Sierra and higher
 Windows 10 Pro (Home recently supported)
 Linux (Ubuntu 14.04+, Debian Jessie+, Fedora 25+, ...)
23-06-2018 ddev: docker made easy 8
INSTALLATION
Get things running...
23-06-2018 ddev: docker made easy 9
INSTALLATION
Homebrew – macOS
23-06-2018 ddev: docker made easy 10
brew tap drud/ddev && brew install ddev
INSTALLATION
Linux and macOS – install script
23-06-2018 ddev: docker made easy 11
curl https://raw.githubusercontent.com/↲
drud/ddev/master/install_ddev.sh | bash
INSTALLATION
Windows 10
23-06-2018 ddev: docker made easy 12
ddev_windows_installer.<version>.exe
PROJECT
CONFIGURATION
Set up a project
23-06-2018 ddev: docker made easy 13
CONFIGURATION
23-06-2018 ddev: docker made easy 14
ddev config
CONFIGURATION
 Name
 Docroot
 Type of project
23-06-2018 ddev: docker made easy 15
DAILY USE
Get productive
23-06-2018 ddev: docker made easy 16
CONFIGURATION
23-06-2018 ddev: docker made easy 17
ddev start
CONFIGURATION
 Starts environment
 Checks/creates containers
 Creates/starts router
23-06-2018 ddev: docker made easy 18
CONFIGURATION
23-06-2018 ddev: docker made easy 19
ddev stop
CONFIGURATION
 Stops router
 Shuts down containers
 Stops environment
23-06-2018 ddev: docker made easy 20
LET’S
START A
PROJECT
23-06-2018 ddev: docker made easy 21
DEMO PROJECT
23-06-2018 ddev: docker made easy 22
mkdir ddevproject
cd ddevproject
DEMO PROJECT
23-06-2018 ddev: docker made easy 23
ddev config
DEMO PROJECT
23-06-2018 ddev: docker made easy 24
Creating a new ddev project config in the current directory (D:t3dd18ddevproject)
Once completed, your configuration will be written to D:t3dd18ddevproject.ddev
config.yaml
Project name (ddevproject):
The docroot is the directory from which your site is served. This is a relative path
from your project root (D:t3dd18ddevproject)
You may leave this value blank if your site files are in the project root
Docroot Location (current directory):
Found a php codebase at D:t3dd18ddevproject.
Project Type [php, drupal6, drupal7, drupal8, wordpress, typo3, backdrop] (php):
typo3
TYPO3 does not seem to have been set up yet, missing LocalConfiguration.php (D:
t3dd18ddevprojecttypo3confAdditionalConfiguration.php)
Generating LocalConfiguration.php file for database connection.
Unable to create settings file: Failed to write TYPO3 AdditionalConfiguration.php
file: chmod D:t3dd18ddevprojecttypo3conf: The system cannot find the file
specified.
Configuration complete. You may now run 'ddev start'.
DEMO PROJECT
23-06-2018 ddev: docker made easy 25
ddev start
DEMO PROJECT
23-06-2018 ddev: docker made easy 26
Starting environment for ddevproject...
Warning: containers will run as root. This is fine on Docker
for Windows or Docker for Mac, but could be a security risk on
Linux.
Starting ddev-ddevproject-db ... done
Starting ddev-ddevproject-dba ... done
Starting ddev-ddevproject-web ... done
Network ddev_default is external, skipping
Creating ddev-router ... done
Successfully started ddevproject
Your project can be reached at http://ddevproject.ddev.local,
https://ddevproject.ddev.local
DEMO PROJECT
23-06-2018 ddev: docker made easy 27
ddev hostname ddevproject.ddev.local
127.0.0.1
ddev hostname ddevproject.ddev.local ::1
DEMO PROJECT
23-06-2018 ddev: docker made easy 28
ddev ssh
winpty ddev ssh
Windows:
DEMO PROJECT
23-06-2018 ddev: docker made easy 29
Warning: containers will run as root. This
is fine on Docker for Windows or
Docker for Mac, but could be a security
risk on Linux.
Warning: containers will run as root. This
is fine on Docker for Windows or
Docker for Mac, but could be a security
risk on Linux.
DEMO PROJECT
23-06-2018 ddev: docker made easy 30
composer create-project
jigal/ddevt3dd18 ./temptarget
DEMO PROJECT
23-06-2018 ddev: docker made easy 31
Installing jigal/ddevt3dd18 (dev-master 448831c4595bf10bc213d182cc7be47d2dfc834c)
- Installing jigal/ddevt3dd18 (dev-master master): Cloning master
Created project in ./temptarget
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 48 installs, 0 updates, 0 removals
- Installing typo3/class-alias-loader (1.0.0): Downloading (100%)
- Installing typo3/cms-composer-installers (v1.5.2): Downloading (100%)
- Installing helhum/typo3-console-plugin (2.0.4): Downloading (100%)
- Installing symfony/dotenv (v4.1.0): Downloading (100%)
- Installing helhum/dotenv-connector (v2.1.0): Downloading (100%)
- Installing mso/idna-convert (v1.1.0): Downloading (100%)
- Installing cogpowered/finediff (0.3.1): Downloading (100%)
- Installing helhum/config-loader (v0.9.0): Downloading (100%)
- Installing symfony/process (v4.1.0): Downloading (100%)
- Installing symfony/polyfill-mbstring (v1.8.0): Downloading (100%)
- Installing symfony/console (v4.1.0): Downloading (100%)
- Installing psr/log (1.0.2): Loading from cache
- Installing doctrine/lexer (v1.0.1): Downloading (100%)
- Installing doctrine/annotations (v1.6.0): Downloading (100%)
- Installing typo3/cms-core (v8.7.16): Downloading (100%)
- Installing typo3/cms-scheduler (v8.7.16): Downloading (100%)
- Installing helhum/typo3-console (5.4.0): Downloading (100%)
- Installing typo3fluid/fluid (2.5.3): Downloading (100%)
- Installing symfony/finder (v4.1.0): Downloading (100%)
- Installing doctrine/inflector (v1.3.0): Downloading (100%)
- Installing doctrine/collections (v1.5.0): Downloading (100%)
- Installing doctrine/cache (v1.7.1): Downloading (100%)
- Installing doctrine/common (v2.7.3): Downloading (100%)
- Installing doctrine/dbal (v2.5.13): Downloading (100%)
- Installing guzzlehttp/promises (v1.3.1): Downloading (100%)
- Installing psr/http-message (1.0.1): Downloading (100%)
- Installing guzzlehttp/psr7 (1.4.2): Downloading (100%)
- Installing guzzlehttp/guzzle (6.3.3): Downloading (100%)
DEMO PROJECT
23-06-2018 ddev: docker made easy 32
- Installing doctrine/instantiator (1.0.5): Downloading (100%)
- Installing symfony/polyfill-ctype (v1.8.0): Downloading (100%)
- Installing swiftmailer/swiftmailer (v5.4.9): Downloading (100%)
- Installing helhum/typo3-composer-setup (v0.5.2): Downloading (100%)
- Installing typo3/cms-sv (v8.7.16): Downloading (100%)
- Installing symfony/yaml (v4.1.0): Downloading (100%)
- Installing typo3/cms-saltedpasswords (v8.7.16): Downloading (100%)
- Installing typo3/cms-recordlist (v8.7.16): Downloading (100%)
- Installing typo3/cms-extensionmanager (v8.7.16): Downloading (100%)
- Installing typo3/cms-lang (v8.7.16): Downloading (100%)
- Installing typo3/cms-extbase (v8.7.16): Downloading (100%)
- Installing typo3/cms-fluid (v8.7.16): Downloading (100%)
- Installing typo3/cms-install (v8.7.16): Downloading (100%)
- Installing typo3/cms-frontend (v8.7.16): Downloading (100%)
- Installing typo3/cms-filelist (v8.7.16): Downloading (100%)
- Installing typo3/cms-cshmanual (v8.7.16): Downloading (100%)
- Installing typo3/cms-backend (v8.7.16): Downloading (100%)
- Installing typo3/cms-fluid-styled-content (v8.7.16): Downloading (100%)
- Installing typo3/cms-rte-ckeditor (v8.7.16): Downloading (100%)
helhum/config-loader suggests installing ext-yaml (For improved performance when parsing yaml files you should use the PECL YAML Parser php extension)
symfony/console suggests installing symfony/event-dispatcher ()
symfony/console suggests installing symfony/lock ()
symfony/console suggests installing psr/log-implementation (For using the console logger)
doctrine/cache suggests installing alcaeus/mongo-php-adapter (Required to use legacy MongoDB driver)
helhum/typo3-composer-setup suggests installing pagemachine/typo3-composer-legacy-cli (Provides the legacy cli_dispatch.phpsh entry point for TYPO3.)
typo3/cms-saltedpasswords suggests installing typo3/cms-rsaauth (*)
typo3/cms-rte-ckeditor suggests installing typo3/cms-setup (*)
Writing lock file
Generating autoload files
Registered helhum/dotenv-connector
Generating class alias map file
Inserting class alias loader into main autoload.php file
Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?Y
DEMO PROJECT
23-06-2018 ddev: docker made easy 33
mv temptarget/* .
mv temptarget/.gitignore .
rmdir temptarget
DEMO PROJECT
23-06-2018 ddev: docker made easy 34
composer dumpautoload
exit
ddev config
DEMO PROJECT
23-06-2018 ddev: docker made easy 35
You are reconfiguring the project at D:t3dd18ddevproject.
The existing configuration will be updated and replaced.
Project name (ddevproject):
The docroot is the directory from which your site is served. This is a
relative path from your project root (D:t3dd18ddevproject)
You may leave this value blank if your site files are in the project root
Docroot Location (web):
Found a typo3 codebase at D:t3dd18ddevprojectweb.
Project Type [wordpress, typo3, backdrop, php, drupal6, drupal7, drupal8]
(typo3):
TYPO3 does not seem to have been set up yet, missing
LocalConfiguration.php (D:t3dd18ddevprojectwebtypo3conf
AdditionalConfiguration.php)
Generating LocalConfiguration.php file for database connection.
Configuration complete. You may now run 'ddev start'.
DEMO PROJECT
23-06-2018 ddev: docker made easy 36
ddev start
winpty ddev ssh
DEMO PROJECT
23-06-2018 ddev: docker made easy 37
../vendor/bin/typo3cms install:setup
DEMO PROJECT
23-06-2018 ddev: docker made easy 38
Welcome to the TYPO3 Console installer!
✔ Prepare installation
✔ Check environment and create folders
✔ Skipped Set up database connection
✔ Skipped Select database
➤  Set up database
Username of to be created administrative user account (required): jigal
Password of to be created administrative user account (required):
Name of the TYPO3 site (default: "New TYPO3 Console site"): ddevt3dd18
✔ Ok
➤  Set up configuration
Specify the site setup type (default: "no"):
[no ] Do nothing
[site] Create root page
> site
✔ Ok
✔ Set up extensions
Successfully installed TYPO3 CMS!
DEMO PROJECT BACKEND
23-06-2018 ddev: docker made easy 39
DEMO PROJECT FRONTEND
23-06-2018 ddev: docker made easy 40
WHAT ELSE IS
THERE?
23-06-2018 ddev: docker made easy 41
PHP VERSION
23-06-2018 ddev: docker made easy 42
ddev describe
PHP VERSION
23-06-2018 ddev: docker made easy 43
NAME TYPE LOCATION URL(s) STATUS
ddevproject typo3 D:/t3dd18/ddevproject http://ddevproject.ddev.local running
https://ddevproject.ddev.local
Project Information
-----------------
PHP version: 7.1
URLs: http://ddevproject.ddev.local, https://ddevproject.ddev.local
MySQL Credentials
-----------------
Username: db
Password: db
Database name: db
Host: db
Port: 3306
To connect to mysql from your host machine, use port 32768 on 127.0.0.1.
For example: mysql --host=127.0.0.1 --port=32768 --user=db --password=db --database=db
Other Services
--------------
MailHog: http://ddevproject.ddev.local:8025
phpMyAdmin: http://ddevproject.ddev.local:8036
DDEV ROUTER STATUS: healthy
PHP VERSION
23-06-2018 ddev: docker made easy 44
less .ddev/config.yaml
PHP VERSION
23-06-2018 ddev: docker made easy 45
APIVersion: "1"
name: ddevproject
type: typo3
docroot: web
php_version: "7.1"
webimage: drud/nginx-php-fpm-local:v1.2.2
dbimage: drud/mariadb-local:v0.9.0
dbaimage: drud/phpmyadmin:v0.2.0
router_http_port: "80"
router_https_port: "443"
additional_hostnames: []
provider: default
# Key features of ddev's config.yaml:
# name: <projectname> # Name of the project, automatically provides
# http://projectname.ddev.local and https://projectname.ddev.local
# type: <projecttype> # drupal6/7/8, backdrop, typo3, wordpress, php
# docroot: <relative_path> # Relative path to the directory containing index.php.
# php_version: "7.1" # PHP version to use, "5.6", "7.0", "7.1", "7.2"
ENVIRONMENT VARIABLES
 .ddev/docker-compose.<something>.yaml
23-06-2018 ddev: docker made easy 46
ENVIRONMENT VARIABLES
23-06-2018 ddev: docker made easy 47
version: '3'
services:
web:
environment:
- TYPO3_CONTEXT=Development
… AND MORE
 MailHog
 PhpMyAdmin
 Xdebug
 Apache Solr container
23-06-2018 ddev: docker made easy 48
EXTENDING DDEV
I want more and I want it now!
23-06-2018 ddev: docker made easy 49
EXTENDING DDEV
23-06-2018 ddev: docker made easy 50
https://ddev.readthedocs.io/en/latest/
users/extending-commands/
EXTENDING DDEV
 Hooks to run:
- pre/post
- start / import-db / import-files
 In .ddev/config.yaml file
23-06-2018 ddev: docker made easy 51
EXTENDING DDEV
 Additional hostnames
 Custom configuration for nginx, PHP,
MariaDB
 Custom services in containers
23-06-2018 ddev: docker made easy 52
THANK YOU!
23-06-2018 ddev: docker made easy 53

Contenu connexe

Tendances

Capistrano deploy Magento project in an efficient way
Capistrano deploy Magento project in an efficient wayCapistrano deploy Magento project in an efficient way
Capistrano deploy Magento project in an efficient waySylvain Rayé
 
Docker deploy
Docker deployDocker deploy
Docker deployEric Ahn
 
Magento 2 Capistrano Deploy
Magento 2 Capistrano DeployMagento 2 Capistrano Deploy
Magento 2 Capistrano DeployDuke Dao
 
Git, CMake, Conan - How to ship and reuse our C++ projects?
Git, CMake, Conan - How to ship and reuse our C++ projects?Git, CMake, Conan - How to ship and reuse our C++ projects?
Git, CMake, Conan - How to ship and reuse our C++ projects?Mateusz Pusz
 
SFScon 2020 - Hlib Babii - DVC version control your datasets and ML experiments
SFScon 2020 - Hlib Babii - DVC version control your datasets and ML experimentsSFScon 2020 - Hlib Babii - DVC version control your datasets and ML experiments
SFScon 2020 - Hlib Babii - DVC version control your datasets and ML experimentsSouth Tyrol Free Software Conference
 
PuppetConf 2016: Getting to the Latest Puppet – Nate McCurdy & Elizabeth Witt...
PuppetConf 2016: Getting to the Latest Puppet – Nate McCurdy & Elizabeth Witt...PuppetConf 2016: Getting to the Latest Puppet – Nate McCurdy & Elizabeth Witt...
PuppetConf 2016: Getting to the Latest Puppet – Nate McCurdy & Elizabeth Witt...Puppet
 
PuppetConf 2016: Puppet 4.x: The Low WAT-tage Edition – Nick Fagerlund, Puppet
PuppetConf 2016: Puppet 4.x: The Low WAT-tage Edition – Nick Fagerlund, PuppetPuppetConf 2016: Puppet 4.x: The Low WAT-tage Edition – Nick Fagerlund, Puppet
PuppetConf 2016: Puppet 4.x: The Low WAT-tage Edition – Nick Fagerlund, PuppetPuppet
 
Escaping the Sandbox Denver HTML5 2013-05-13
Escaping the Sandbox Denver HTML5 2013-05-13Escaping the Sandbox Denver HTML5 2013-05-13
Escaping the Sandbox Denver HTML5 2013-05-13michaelmalak
 
Using Puppet to Create a Dynamic Network - PuppetConf 2013
Using Puppet to Create a Dynamic Network - PuppetConf 2013Using Puppet to Create a Dynamic Network - PuppetConf 2013
Using Puppet to Create a Dynamic Network - PuppetConf 2013Puppet
 
Openshift cheat rhce_r3v1 rhce
Openshift cheat rhce_r3v1 rhceOpenshift cheat rhce_r3v1 rhce
Openshift cheat rhce_r3v1 rhceDarnette A
 
H2O - making the Web faster
H2O - making the Web fasterH2O - making the Web faster
H2O - making the Web fasterKazuho Oku
 
GDG Devfest 2019 - Build go kit microservices at kubernetes with ease
GDG Devfest 2019 - Build go kit microservices at kubernetes with easeGDG Devfest 2019 - Build go kit microservices at kubernetes with ease
GDG Devfest 2019 - Build go kit microservices at kubernetes with easeKAI CHU CHUNG
 
Moving from Jenkins 1 to 2 declarative pipeline adventures
Moving from Jenkins 1 to 2 declarative pipeline adventuresMoving from Jenkins 1 to 2 declarative pipeline adventures
Moving from Jenkins 1 to 2 declarative pipeline adventuresFrits Van Der Holst
 
Nagios Conference 2012 - Nathan Vonnahme - Writing Custom Nagios Plugins in Perl
Nagios Conference 2012 - Nathan Vonnahme - Writing Custom Nagios Plugins in PerlNagios Conference 2012 - Nathan Vonnahme - Writing Custom Nagios Plugins in Perl
Nagios Conference 2012 - Nathan Vonnahme - Writing Custom Nagios Plugins in PerlNagios
 
Docker Demo @ IuK Seminar
Docker Demo @ IuK SeminarDocker Demo @ IuK Seminar
Docker Demo @ IuK SeminarMartin Scharm
 
Installing Python on Mac
Installing Python on MacInstalling Python on Mac
Installing Python on MacWei-Wen Hsu
 
Gradle in 45min - JBCN2-16 version
Gradle in 45min - JBCN2-16 versionGradle in 45min - JBCN2-16 version
Gradle in 45min - JBCN2-16 versionSchalk Cronjé
 

Tendances (20)

Capistrano deploy Magento project in an efficient way
Capistrano deploy Magento project in an efficient wayCapistrano deploy Magento project in an efficient way
Capistrano deploy Magento project in an efficient way
 
New sendfile
New sendfileNew sendfile
New sendfile
 
Docker deploy
Docker deployDocker deploy
Docker deploy
 
Magento 2 Capistrano Deploy
Magento 2 Capistrano DeployMagento 2 Capistrano Deploy
Magento 2 Capistrano Deploy
 
Git, CMake, Conan - How to ship and reuse our C++ projects?
Git, CMake, Conan - How to ship and reuse our C++ projects?Git, CMake, Conan - How to ship and reuse our C++ projects?
Git, CMake, Conan - How to ship and reuse our C++ projects?
 
SFScon 2020 - Hlib Babii - DVC version control your datasets and ML experiments
SFScon 2020 - Hlib Babii - DVC version control your datasets and ML experimentsSFScon 2020 - Hlib Babii - DVC version control your datasets and ML experiments
SFScon 2020 - Hlib Babii - DVC version control your datasets and ML experiments
 
PuppetConf 2016: Getting to the Latest Puppet – Nate McCurdy & Elizabeth Witt...
PuppetConf 2016: Getting to the Latest Puppet – Nate McCurdy & Elizabeth Witt...PuppetConf 2016: Getting to the Latest Puppet – Nate McCurdy & Elizabeth Witt...
PuppetConf 2016: Getting to the Latest Puppet – Nate McCurdy & Elizabeth Witt...
 
PuppetConf 2016: Puppet 4.x: The Low WAT-tage Edition – Nick Fagerlund, Puppet
PuppetConf 2016: Puppet 4.x: The Low WAT-tage Edition – Nick Fagerlund, PuppetPuppetConf 2016: Puppet 4.x: The Low WAT-tage Edition – Nick Fagerlund, Puppet
PuppetConf 2016: Puppet 4.x: The Low WAT-tage Edition – Nick Fagerlund, Puppet
 
Escaping the Sandbox Denver HTML5 2013-05-13
Escaping the Sandbox Denver HTML5 2013-05-13Escaping the Sandbox Denver HTML5 2013-05-13
Escaping the Sandbox Denver HTML5 2013-05-13
 
Using Puppet to Create a Dynamic Network - PuppetConf 2013
Using Puppet to Create a Dynamic Network - PuppetConf 2013Using Puppet to Create a Dynamic Network - PuppetConf 2013
Using Puppet to Create a Dynamic Network - PuppetConf 2013
 
Openshift cheat rhce_r3v1 rhce
Openshift cheat rhce_r3v1 rhceOpenshift cheat rhce_r3v1 rhce
Openshift cheat rhce_r3v1 rhce
 
H2O - making the Web faster
H2O - making the Web fasterH2O - making the Web faster
H2O - making the Web faster
 
Gradle in 45min
Gradle in 45minGradle in 45min
Gradle in 45min
 
GDG Devfest 2019 - Build go kit microservices at kubernetes with ease
GDG Devfest 2019 - Build go kit microservices at kubernetes with easeGDG Devfest 2019 - Build go kit microservices at kubernetes with ease
GDG Devfest 2019 - Build go kit microservices at kubernetes with ease
 
Moving from Jenkins 1 to 2 declarative pipeline adventures
Moving from Jenkins 1 to 2 declarative pipeline adventuresMoving from Jenkins 1 to 2 declarative pipeline adventures
Moving from Jenkins 1 to 2 declarative pipeline adventures
 
Go 1.8 Release Party
Go 1.8 Release PartyGo 1.8 Release Party
Go 1.8 Release Party
 
Nagios Conference 2012 - Nathan Vonnahme - Writing Custom Nagios Plugins in Perl
Nagios Conference 2012 - Nathan Vonnahme - Writing Custom Nagios Plugins in PerlNagios Conference 2012 - Nathan Vonnahme - Writing Custom Nagios Plugins in Perl
Nagios Conference 2012 - Nathan Vonnahme - Writing Custom Nagios Plugins in Perl
 
Docker Demo @ IuK Seminar
Docker Demo @ IuK SeminarDocker Demo @ IuK Seminar
Docker Demo @ IuK Seminar
 
Installing Python on Mac
Installing Python on MacInstalling Python on Mac
Installing Python on Mac
 
Gradle in 45min - JBCN2-16 version
Gradle in 45min - JBCN2-16 versionGradle in 45min - JBCN2-16 version
Gradle in 45min - JBCN2-16 version
 

Similaire à Ddev workshop t3dd18

Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker皓鈞 張
 
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHPHands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHPDana Luther
 
Docman - The swiss army knife for Drupal multisite docroot management and dep...
Docman - The swiss army knife for Drupal multisite docroot management and dep...Docman - The swiss army knife for Drupal multisite docroot management and dep...
Docman - The swiss army knife for Drupal multisite docroot management and dep...Aleksey Tkachenko
 
Develop with docker 2014 aug
Develop with docker 2014 augDevelop with docker 2014 aug
Develop with docker 2014 augVincent De Smet
 
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 DrushPantheon
 
Hands on Docker - Launch your own LEMP or LAMP stack
Hands on Docker -  Launch your own LEMP or LAMP stackHands on Docker -  Launch your own LEMP or LAMP stack
Hands on Docker - Launch your own LEMP or LAMP stackDana Luther
 
Recipe to build open splice dds 6.3.xxx Hello World example over Qt 5.2
 Recipe to build open splice dds 6.3.xxx Hello World example over Qt 5.2   Recipe to build open splice dds 6.3.xxx Hello World example over Qt 5.2
Recipe to build open splice dds 6.3.xxx Hello World example over Qt 5.2 Adil Khan
 
Docker Essentials Workshop— Innovation Labs July 2020
Docker Essentials Workshop— Innovation Labs July 2020Docker Essentials Workshop— Innovation Labs July 2020
Docker Essentials Workshop— Innovation Labs July 2020CloudHero
 
2019-CertiFUNcation-DDEV-for-TYPO3
2019-CertiFUNcation-DDEV-for-TYPO32019-CertiFUNcation-DDEV-for-TYPO3
2019-CertiFUNcation-DDEV-for-TYPO3TYPO3 CertiFUNcation
 
Using Docker For Development
Using Docker For DevelopmentUsing Docker For Development
Using Docker For DevelopmentLaura Frank Tacho
 
Delivering Docker & K3s worloads to IoT Edge devices
Delivering Docker & K3s worloads to IoT Edge devicesDelivering Docker & K3s worloads to IoT Edge devices
Delivering Docker & K3s worloads to IoT Edge devicesAjeet Singh Raina
 
DCEU 18: Developing with Docker Containers
DCEU 18: Developing with Docker ContainersDCEU 18: Developing with Docker Containers
DCEU 18: Developing with Docker ContainersDocker, Inc.
 
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)Fabrice Bernhard
 
Managing your Drupal project with Composer
Managing your Drupal project with ComposerManaging your Drupal project with Composer
Managing your Drupal project with ComposerMatt Glaman
 
Magento Docker Setup.pdf
Magento Docker Setup.pdfMagento Docker Setup.pdf
Magento Docker Setup.pdfAbid Malik
 
Preparation study of_docker - (MOSG)
Preparation study of_docker  - (MOSG)Preparation study of_docker  - (MOSG)
Preparation study of_docker - (MOSG)Soshi Nemoto
 

Similaire à Ddev workshop t3dd18 (20)

Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHPHands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
Hands on Docker - Launch your own LEMP or LAMP stack - SunshinePHP
 
Docman - The swiss army knife for Drupal multisite docroot management and dep...
Docman - The swiss army knife for Drupal multisite docroot management and dep...Docman - The swiss army knife for Drupal multisite docroot management and dep...
Docman - The swiss army knife for Drupal multisite docroot management and dep...
 
Develop with docker 2014 aug
Develop with docker 2014 augDevelop with docker 2014 aug
Develop with docker 2014 aug
 
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
 
Hands on Docker - Launch your own LEMP or LAMP stack
Hands on Docker -  Launch your own LEMP or LAMP stackHands on Docker -  Launch your own LEMP or LAMP stack
Hands on Docker - Launch your own LEMP or LAMP stack
 
Recipe to build open splice dds 6.3.xxx Hello World example over Qt 5.2
 Recipe to build open splice dds 6.3.xxx Hello World example over Qt 5.2   Recipe to build open splice dds 6.3.xxx Hello World example over Qt 5.2
Recipe to build open splice dds 6.3.xxx Hello World example over Qt 5.2
 
Docker Essentials Workshop— Innovation Labs July 2020
Docker Essentials Workshop— Innovation Labs July 2020Docker Essentials Workshop— Innovation Labs July 2020
Docker Essentials Workshop— Innovation Labs July 2020
 
ABCs of docker
ABCs of dockerABCs of docker
ABCs of docker
 
Learning Docker with Thomas
Learning Docker with ThomasLearning Docker with Thomas
Learning Docker with Thomas
 
2019-CertiFUNcation-DDEV-for-TYPO3
2019-CertiFUNcation-DDEV-for-TYPO32019-CertiFUNcation-DDEV-for-TYPO3
2019-CertiFUNcation-DDEV-for-TYPO3
 
Using Docker For Development
Using Docker For DevelopmentUsing Docker For Development
Using Docker For Development
 
Delivering Docker & K3s worloads to IoT Edge devices
Delivering Docker & K3s worloads to IoT Edge devicesDelivering Docker & K3s worloads to IoT Edge devices
Delivering Docker & K3s worloads to IoT Edge devices
 
Xdebug from a to x
Xdebug from a to xXdebug from a to x
Xdebug from a to x
 
DCEU 18: Developing with Docker Containers
DCEU 18: Developing with Docker ContainersDCEU 18: Developing with Docker Containers
DCEU 18: Developing with Docker Containers
 
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
Adopt DevOps philosophy on your Symfony projects (Symfony Live 2011)
 
Managing your Drupal project with Composer
Managing your Drupal project with ComposerManaging your Drupal project with Composer
Managing your Drupal project with Composer
 
Magento Docker Setup.pdf
Magento Docker Setup.pdfMagento Docker Setup.pdf
Magento Docker Setup.pdf
 
Preparation study of_docker - (MOSG)
Preparation study of_docker  - (MOSG)Preparation study of_docker  - (MOSG)
Preparation study of_docker - (MOSG)
 
Docker Starter Pack
Docker Starter PackDocker Starter Pack
Docker Starter Pack
 

Plus de Jigal van Hemert

Fun with fluid (TYPO3camp RheinRuhr 2019)
Fun with fluid (TYPO3camp RheinRuhr 2019)Fun with fluid (TYPO3camp RheinRuhr 2019)
Fun with fluid (TYPO3camp RheinRuhr 2019)Jigal van Hemert
 
Build your own Upgrade Wizard
Build your own Upgrade WizardBuild your own Upgrade Wizard
Build your own Upgrade WizardJigal van Hemert
 
New Little Gems in TYPO3 v8
New Little Gems in TYPO3 v8New Little Gems in TYPO3 v8
New Little Gems in TYPO3 v8Jigal van Hemert
 

Plus de Jigal van Hemert (7)

Little Gems in TYPO3 v12
Little Gems in TYPO3 v12Little Gems in TYPO3 v12
Little Gems in TYPO3 v12
 
Fun with fluid (TYPO3camp RheinRuhr 2019)
Fun with fluid (TYPO3camp RheinRuhr 2019)Fun with fluid (TYPO3camp RheinRuhr 2019)
Fun with fluid (TYPO3camp RheinRuhr 2019)
 
Build your own Upgrade Wizard
Build your own Upgrade WizardBuild your own Upgrade Wizard
Build your own Upgrade Wizard
 
Little gems in TYPO3 v9
Little gems in TYPO3 v9Little gems in TYPO3 v9
Little gems in TYPO3 v9
 
Fun with fluid_t3dd18
Fun with fluid_t3dd18Fun with fluid_t3dd18
Fun with fluid_t3dd18
 
My Wife's Website
My Wife's WebsiteMy Wife's Website
My Wife's Website
 
New Little Gems in TYPO3 v8
New Little Gems in TYPO3 v8New Little Gems in TYPO3 v8
New Little Gems in TYPO3 v8
 

Dernier

The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...software pro Development
 

Dernier (20)

The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 

Ddev workshop t3dd18

  • 3. CONTAINERS - DOCKER  Lightweight virtual machine  Linux based, compressed  Supported by major virtualization players  Supported in deployment solutions 23-06-2018 ddev: docker made easy 3
  • 4. DDEV - DOCKER  DDEV:  pre-built containers  configuration for WordPress, Drupal, Backdrop, TYPO3  Contains: db, nginx, solr, PHP 5.6-7.2, xdebug  Your own additional services 23-06-2018 ddev: docker made easy 4
  • 6. AGENDA 23-06-2018 6ddev: docker made easy 1. Requirements 2. Installation 3. Project configuration 4. Daily use 5. Extending the configuration
  • 7. REQUIREMENTS What do I need to run ddev? 23-06-2018 ddev: docker made easy 7
  • 8. REQUIREMENTS  Docker version 17.05 or higher  Docker compose 1.10.0 or higher  macOS Sierra and higher  Windows 10 Pro (Home recently supported)  Linux (Ubuntu 14.04+, Debian Jessie+, Fedora 25+, ...) 23-06-2018 ddev: docker made easy 8
  • 10. INSTALLATION Homebrew – macOS 23-06-2018 ddev: docker made easy 10 brew tap drud/ddev && brew install ddev
  • 11. INSTALLATION Linux and macOS – install script 23-06-2018 ddev: docker made easy 11 curl https://raw.githubusercontent.com/↲ drud/ddev/master/install_ddev.sh | bash
  • 12. INSTALLATION Windows 10 23-06-2018 ddev: docker made easy 12 ddev_windows_installer.<version>.exe
  • 13. PROJECT CONFIGURATION Set up a project 23-06-2018 ddev: docker made easy 13
  • 14. CONFIGURATION 23-06-2018 ddev: docker made easy 14 ddev config
  • 15. CONFIGURATION  Name  Docroot  Type of project 23-06-2018 ddev: docker made easy 15
  • 16. DAILY USE Get productive 23-06-2018 ddev: docker made easy 16
  • 17. CONFIGURATION 23-06-2018 ddev: docker made easy 17 ddev start
  • 18. CONFIGURATION  Starts environment  Checks/creates containers  Creates/starts router 23-06-2018 ddev: docker made easy 18
  • 19. CONFIGURATION 23-06-2018 ddev: docker made easy 19 ddev stop
  • 20. CONFIGURATION  Stops router  Shuts down containers  Stops environment 23-06-2018 ddev: docker made easy 20
  • 22. DEMO PROJECT 23-06-2018 ddev: docker made easy 22 mkdir ddevproject cd ddevproject
  • 23. DEMO PROJECT 23-06-2018 ddev: docker made easy 23 ddev config
  • 24. DEMO PROJECT 23-06-2018 ddev: docker made easy 24 Creating a new ddev project config in the current directory (D:t3dd18ddevproject) Once completed, your configuration will be written to D:t3dd18ddevproject.ddev config.yaml Project name (ddevproject): The docroot is the directory from which your site is served. This is a relative path from your project root (D:t3dd18ddevproject) You may leave this value blank if your site files are in the project root Docroot Location (current directory): Found a php codebase at D:t3dd18ddevproject. Project Type [php, drupal6, drupal7, drupal8, wordpress, typo3, backdrop] (php): typo3 TYPO3 does not seem to have been set up yet, missing LocalConfiguration.php (D: t3dd18ddevprojecttypo3confAdditionalConfiguration.php) Generating LocalConfiguration.php file for database connection. Unable to create settings file: Failed to write TYPO3 AdditionalConfiguration.php file: chmod D:t3dd18ddevprojecttypo3conf: The system cannot find the file specified. Configuration complete. You may now run 'ddev start'.
  • 25. DEMO PROJECT 23-06-2018 ddev: docker made easy 25 ddev start
  • 26. DEMO PROJECT 23-06-2018 ddev: docker made easy 26 Starting environment for ddevproject... Warning: containers will run as root. This is fine on Docker for Windows or Docker for Mac, but could be a security risk on Linux. Starting ddev-ddevproject-db ... done Starting ddev-ddevproject-dba ... done Starting ddev-ddevproject-web ... done Network ddev_default is external, skipping Creating ddev-router ... done Successfully started ddevproject Your project can be reached at http://ddevproject.ddev.local, https://ddevproject.ddev.local
  • 27. DEMO PROJECT 23-06-2018 ddev: docker made easy 27 ddev hostname ddevproject.ddev.local 127.0.0.1 ddev hostname ddevproject.ddev.local ::1
  • 28. DEMO PROJECT 23-06-2018 ddev: docker made easy 28 ddev ssh winpty ddev ssh Windows:
  • 29. DEMO PROJECT 23-06-2018 ddev: docker made easy 29 Warning: containers will run as root. This is fine on Docker for Windows or Docker for Mac, but could be a security risk on Linux. Warning: containers will run as root. This is fine on Docker for Windows or Docker for Mac, but could be a security risk on Linux.
  • 30. DEMO PROJECT 23-06-2018 ddev: docker made easy 30 composer create-project jigal/ddevt3dd18 ./temptarget
  • 31. DEMO PROJECT 23-06-2018 ddev: docker made easy 31 Installing jigal/ddevt3dd18 (dev-master 448831c4595bf10bc213d182cc7be47d2dfc834c) - Installing jigal/ddevt3dd18 (dev-master master): Cloning master Created project in ./temptarget Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 48 installs, 0 updates, 0 removals - Installing typo3/class-alias-loader (1.0.0): Downloading (100%) - Installing typo3/cms-composer-installers (v1.5.2): Downloading (100%) - Installing helhum/typo3-console-plugin (2.0.4): Downloading (100%) - Installing symfony/dotenv (v4.1.0): Downloading (100%) - Installing helhum/dotenv-connector (v2.1.0): Downloading (100%) - Installing mso/idna-convert (v1.1.0): Downloading (100%) - Installing cogpowered/finediff (0.3.1): Downloading (100%) - Installing helhum/config-loader (v0.9.0): Downloading (100%) - Installing symfony/process (v4.1.0): Downloading (100%) - Installing symfony/polyfill-mbstring (v1.8.0): Downloading (100%) - Installing symfony/console (v4.1.0): Downloading (100%) - Installing psr/log (1.0.2): Loading from cache - Installing doctrine/lexer (v1.0.1): Downloading (100%) - Installing doctrine/annotations (v1.6.0): Downloading (100%) - Installing typo3/cms-core (v8.7.16): Downloading (100%) - Installing typo3/cms-scheduler (v8.7.16): Downloading (100%) - Installing helhum/typo3-console (5.4.0): Downloading (100%) - Installing typo3fluid/fluid (2.5.3): Downloading (100%) - Installing symfony/finder (v4.1.0): Downloading (100%) - Installing doctrine/inflector (v1.3.0): Downloading (100%) - Installing doctrine/collections (v1.5.0): Downloading (100%) - Installing doctrine/cache (v1.7.1): Downloading (100%) - Installing doctrine/common (v2.7.3): Downloading (100%) - Installing doctrine/dbal (v2.5.13): Downloading (100%) - Installing guzzlehttp/promises (v1.3.1): Downloading (100%) - Installing psr/http-message (1.0.1): Downloading (100%) - Installing guzzlehttp/psr7 (1.4.2): Downloading (100%) - Installing guzzlehttp/guzzle (6.3.3): Downloading (100%)
  • 32. DEMO PROJECT 23-06-2018 ddev: docker made easy 32 - Installing doctrine/instantiator (1.0.5): Downloading (100%) - Installing symfony/polyfill-ctype (v1.8.0): Downloading (100%) - Installing swiftmailer/swiftmailer (v5.4.9): Downloading (100%) - Installing helhum/typo3-composer-setup (v0.5.2): Downloading (100%) - Installing typo3/cms-sv (v8.7.16): Downloading (100%) - Installing symfony/yaml (v4.1.0): Downloading (100%) - Installing typo3/cms-saltedpasswords (v8.7.16): Downloading (100%) - Installing typo3/cms-recordlist (v8.7.16): Downloading (100%) - Installing typo3/cms-extensionmanager (v8.7.16): Downloading (100%) - Installing typo3/cms-lang (v8.7.16): Downloading (100%) - Installing typo3/cms-extbase (v8.7.16): Downloading (100%) - Installing typo3/cms-fluid (v8.7.16): Downloading (100%) - Installing typo3/cms-install (v8.7.16): Downloading (100%) - Installing typo3/cms-frontend (v8.7.16): Downloading (100%) - Installing typo3/cms-filelist (v8.7.16): Downloading (100%) - Installing typo3/cms-cshmanual (v8.7.16): Downloading (100%) - Installing typo3/cms-backend (v8.7.16): Downloading (100%) - Installing typo3/cms-fluid-styled-content (v8.7.16): Downloading (100%) - Installing typo3/cms-rte-ckeditor (v8.7.16): Downloading (100%) helhum/config-loader suggests installing ext-yaml (For improved performance when parsing yaml files you should use the PECL YAML Parser php extension) symfony/console suggests installing symfony/event-dispatcher () symfony/console suggests installing symfony/lock () symfony/console suggests installing psr/log-implementation (For using the console logger) doctrine/cache suggests installing alcaeus/mongo-php-adapter (Required to use legacy MongoDB driver) helhum/typo3-composer-setup suggests installing pagemachine/typo3-composer-legacy-cli (Provides the legacy cli_dispatch.phpsh entry point for TYPO3.) typo3/cms-saltedpasswords suggests installing typo3/cms-rsaauth (*) typo3/cms-rte-ckeditor suggests installing typo3/cms-setup (*) Writing lock file Generating autoload files Registered helhum/dotenv-connector Generating class alias map file Inserting class alias loader into main autoload.php file Do you want to remove the existing VCS (.git, .svn..) history? [Y,n]?Y
  • 33. DEMO PROJECT 23-06-2018 ddev: docker made easy 33 mv temptarget/* . mv temptarget/.gitignore . rmdir temptarget
  • 34. DEMO PROJECT 23-06-2018 ddev: docker made easy 34 composer dumpautoload exit ddev config
  • 35. DEMO PROJECT 23-06-2018 ddev: docker made easy 35 You are reconfiguring the project at D:t3dd18ddevproject. The existing configuration will be updated and replaced. Project name (ddevproject): The docroot is the directory from which your site is served. This is a relative path from your project root (D:t3dd18ddevproject) You may leave this value blank if your site files are in the project root Docroot Location (web): Found a typo3 codebase at D:t3dd18ddevprojectweb. Project Type [wordpress, typo3, backdrop, php, drupal6, drupal7, drupal8] (typo3): TYPO3 does not seem to have been set up yet, missing LocalConfiguration.php (D:t3dd18ddevprojectwebtypo3conf AdditionalConfiguration.php) Generating LocalConfiguration.php file for database connection. Configuration complete. You may now run 'ddev start'.
  • 36. DEMO PROJECT 23-06-2018 ddev: docker made easy 36 ddev start winpty ddev ssh
  • 37. DEMO PROJECT 23-06-2018 ddev: docker made easy 37 ../vendor/bin/typo3cms install:setup
  • 38. DEMO PROJECT 23-06-2018 ddev: docker made easy 38 Welcome to the TYPO3 Console installer! ✔ Prepare installation ✔ Check environment and create folders ✔ Skipped Set up database connection ✔ Skipped Select database ➤ Set up database Username of to be created administrative user account (required): jigal Password of to be created administrative user account (required): Name of the TYPO3 site (default: "New TYPO3 Console site"): ddevt3dd18 ✔ Ok ➤ Set up configuration Specify the site setup type (default: "no"): [no ] Do nothing [site] Create root page > site ✔ Ok ✔ Set up extensions Successfully installed TYPO3 CMS!
  • 39. DEMO PROJECT BACKEND 23-06-2018 ddev: docker made easy 39
  • 40. DEMO PROJECT FRONTEND 23-06-2018 ddev: docker made easy 40
  • 41. WHAT ELSE IS THERE? 23-06-2018 ddev: docker made easy 41
  • 42. PHP VERSION 23-06-2018 ddev: docker made easy 42 ddev describe
  • 43. PHP VERSION 23-06-2018 ddev: docker made easy 43 NAME TYPE LOCATION URL(s) STATUS ddevproject typo3 D:/t3dd18/ddevproject http://ddevproject.ddev.local running https://ddevproject.ddev.local Project Information ----------------- PHP version: 7.1 URLs: http://ddevproject.ddev.local, https://ddevproject.ddev.local MySQL Credentials ----------------- Username: db Password: db Database name: db Host: db Port: 3306 To connect to mysql from your host machine, use port 32768 on 127.0.0.1. For example: mysql --host=127.0.0.1 --port=32768 --user=db --password=db --database=db Other Services -------------- MailHog: http://ddevproject.ddev.local:8025 phpMyAdmin: http://ddevproject.ddev.local:8036 DDEV ROUTER STATUS: healthy
  • 44. PHP VERSION 23-06-2018 ddev: docker made easy 44 less .ddev/config.yaml
  • 45. PHP VERSION 23-06-2018 ddev: docker made easy 45 APIVersion: "1" name: ddevproject type: typo3 docroot: web php_version: "7.1" webimage: drud/nginx-php-fpm-local:v1.2.2 dbimage: drud/mariadb-local:v0.9.0 dbaimage: drud/phpmyadmin:v0.2.0 router_http_port: "80" router_https_port: "443" additional_hostnames: [] provider: default # Key features of ddev's config.yaml: # name: <projectname> # Name of the project, automatically provides # http://projectname.ddev.local and https://projectname.ddev.local # type: <projecttype> # drupal6/7/8, backdrop, typo3, wordpress, php # docroot: <relative_path> # Relative path to the directory containing index.php. # php_version: "7.1" # PHP version to use, "5.6", "7.0", "7.1", "7.2"
  • 47. ENVIRONMENT VARIABLES 23-06-2018 ddev: docker made easy 47 version: '3' services: web: environment: - TYPO3_CONTEXT=Development
  • 48. … AND MORE  MailHog  PhpMyAdmin  Xdebug  Apache Solr container 23-06-2018 ddev: docker made easy 48
  • 49. EXTENDING DDEV I want more and I want it now! 23-06-2018 ddev: docker made easy 49
  • 50. EXTENDING DDEV 23-06-2018 ddev: docker made easy 50 https://ddev.readthedocs.io/en/latest/ users/extending-commands/
  • 51. EXTENDING DDEV  Hooks to run: - pre/post - start / import-db / import-files  In .ddev/config.yaml file 23-06-2018 ddev: docker made easy 51
  • 52. EXTENDING DDEV  Additional hostnames  Custom configuration for nginx, PHP, MariaDB  Custom services in containers 23-06-2018 ddev: docker made easy 52
  • 53. THANK YOU! 23-06-2018 ddev: docker made easy 53