SlideShare ist ein Scribd-Unternehmen logo
1 von 10
Downloaden Sie, um offline zu lesen
VIRTUALIZATION
HOST OS (MAC, WINDOWS, LINUX)
HYPERVISOR (VBOX, VMWARE, PARALLELS)
GUEST OS GUEST OS GUEST OS
WEBSERVER WEBSERVER WEBSERVER
DRAWBACKS
▸ Full guest OS (lots of software you don't need)
▸ Hardware simulation
▸ CPU (Scheduling, Protection ring)
▸ Memory (Virtual memory mapping)
▸ Disk
▸ Boot time
▸ Installation time
DOCKER
HOST OS (MAC, WINDOWS, LINUX)
CONTAINER ENGINE
WEBSERVER WEBSERVER WEBSERVER
KERNEL
WRITABLE CONTAINER APP
DEBIAN - IMAGE
ADD APACHE - IMAGE
ADD PHP-FPM - IMAGE
ADD PROJECT FILES - IMAGE
WRITABLE CONTAINER DB
CENTOS - IMAGE
ADD MYSQL - IMAGEPort 3306
Port 80
/opt/data/fileadmin
/app/web/fileadmin
/app/web/uploads
/opt/data/uploads
DOCKER CONTAINER
▸ A running instance of an image
▸ Has its own disk
▸ Has its own network
▸ Can expose ports to the host
▸ Runs a single process
▸ Resources (CPU, Memory) directly from the host
▸ Is not persistent!
DOCKER IMAGE
▸ Is based on another docker image
▸ Contains a projection of the complete filesystem
▸ Can be versionized
▸ Share the same layers (binary) with their base images
▸ Easy exchangeable
CONFIGURE DOCKERIZED SOFTWARE
▸ Handled by environment variables
▸ Variables are declared during runtime
▸ Default variables maybe encoded in the image
▸ Overwrite configuration files via mounted files
if (getenv('MYSQL_USER')) {
$GLOBALS['TYPO3_CONF_VARS']['DB']['username'] = getenv('MYSQL_USER');
}
if (getenv('MYSQL_PASSWORD')) {
$GLOBALS['TYPO3_CONF_VARS']['DB']['password'] = getenv('MYSQL_PASSWORD');
}
DOCKER COMPOSE
app:
image: hhoechtl/t3dd16:typo3
links:
- mysql
ports:
- "80:80"
- "443:443"
- "10022:22"
volumes:
- /opt/fileadmin:/app/web/fileadmin
- uploads:/app/web/uploads
env_file:
- etc/environment.yml
- etc/environment.production.yml
mysql:
image: hhoechtl/t3dd16:db
volumes:
- db:/var/lib/mysql
env_file:
- etc/environment.yml
- etc/environment.production.yml
Servicename (also DNS internally)
Host port
Container internal port
Container internal filesystem
Host filesystem
Engine volume
THINGS YOU SHOULD LOOK AT
▸ Dinghy HTTP-Proxy http://bit.ly/2bTm5L6
▸ Project website https://webdevops.io/
▸ Get support on slack https://webdevops.io/slack/
▸ Rancher http://rancher.com/rancher/

Weitere ähnliche Inhalte

Kürzlich hochgeladen

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
VictorSzoltysek
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
+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
 

Kürzlich hochgeladen (20)

AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
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
 
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
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
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-...
 
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
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
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
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
+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...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
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
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
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
 

Empfohlen

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Empfohlen (20)

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 

TYPO3 Docker Boilerplate

  • 1.
  • 2. VIRTUALIZATION HOST OS (MAC, WINDOWS, LINUX) HYPERVISOR (VBOX, VMWARE, PARALLELS) GUEST OS GUEST OS GUEST OS WEBSERVER WEBSERVER WEBSERVER
  • 3. DRAWBACKS ▸ Full guest OS (lots of software you don't need) ▸ Hardware simulation ▸ CPU (Scheduling, Protection ring) ▸ Memory (Virtual memory mapping) ▸ Disk ▸ Boot time ▸ Installation time
  • 4. DOCKER HOST OS (MAC, WINDOWS, LINUX) CONTAINER ENGINE WEBSERVER WEBSERVER WEBSERVER
  • 5. KERNEL WRITABLE CONTAINER APP DEBIAN - IMAGE ADD APACHE - IMAGE ADD PHP-FPM - IMAGE ADD PROJECT FILES - IMAGE WRITABLE CONTAINER DB CENTOS - IMAGE ADD MYSQL - IMAGEPort 3306 Port 80 /opt/data/fileadmin /app/web/fileadmin /app/web/uploads /opt/data/uploads
  • 6. DOCKER CONTAINER ▸ A running instance of an image ▸ Has its own disk ▸ Has its own network ▸ Can expose ports to the host ▸ Runs a single process ▸ Resources (CPU, Memory) directly from the host ▸ Is not persistent!
  • 7. DOCKER IMAGE ▸ Is based on another docker image ▸ Contains a projection of the complete filesystem ▸ Can be versionized ▸ Share the same layers (binary) with their base images ▸ Easy exchangeable
  • 8. CONFIGURE DOCKERIZED SOFTWARE ▸ Handled by environment variables ▸ Variables are declared during runtime ▸ Default variables maybe encoded in the image ▸ Overwrite configuration files via mounted files if (getenv('MYSQL_USER')) { $GLOBALS['TYPO3_CONF_VARS']['DB']['username'] = getenv('MYSQL_USER'); } if (getenv('MYSQL_PASSWORD')) { $GLOBALS['TYPO3_CONF_VARS']['DB']['password'] = getenv('MYSQL_PASSWORD'); }
  • 9. DOCKER COMPOSE app: image: hhoechtl/t3dd16:typo3 links: - mysql ports: - "80:80" - "443:443" - "10022:22" volumes: - /opt/fileadmin:/app/web/fileadmin - uploads:/app/web/uploads env_file: - etc/environment.yml - etc/environment.production.yml mysql: image: hhoechtl/t3dd16:db volumes: - db:/var/lib/mysql env_file: - etc/environment.yml - etc/environment.production.yml Servicename (also DNS internally) Host port Container internal port Container internal filesystem Host filesystem Engine volume
  • 10. THINGS YOU SHOULD LOOK AT ▸ Dinghy HTTP-Proxy http://bit.ly/2bTm5L6 ▸ Project website https://webdevops.io/ ▸ Get support on slack https://webdevops.io/slack/ ▸ Rancher http://rancher.com/rancher/