Skip to content

Latest commit

 

History

History
1151 lines (1143 loc) · 78.2 KB

mastering-docker-php.md

File metadata and controls

1151 lines (1143 loc) · 78.2 KB
layout permalink
mastering-docker
/docker-for-php-developers/

Docker for PHP Developers

Learn How to Make PHP Development with Docker Feel like 127.0.0.1

"Docker for PHP Developers" is a book and video course that will teach you how to use Docker and PHP to create clean, repeatable development environments that are easy to understand.

Learn how Docker can simplify your PHP development setup and make it simple to share your environment with others. You will learn how to set up, manage, and deploy Docker applications with confidence.

Buy the Course Get a Sample

<script src="https://assets.convertkit.com/assets/CKJS4.js?v=21"></script>

Success! Check your email for a sample soon.

Get Free Book Samples

Try before you buy with a free sneak peek! Enter your email address and I'll send you two sample PDFs from my book and a few short videos and posts over the next week about using Docker with PHP. You'll also get semi-regular tips about Docker and updates on any course announcements.

There was an error submitting your subscription. Please try again.

Sign Up

What does the Guide Cover?

Docker for PHP Developers is a guide that combines a book and videos that help you master Docker as a full time PHP development environment.

Development Tools

  • Learn how to manage containers
  • Learn how to use Docker Compose
  • Use XDebug with Docker
  • Use PHP Composer with Docker

PHP Environment

  • Building PHP containers from scratch
  • Installing PHP modules
  • Managing module INI files
  • Per-environment configuration

Legacy Applications

  • Installing an older version of PHP
  • Hands-on example in the book getting a legacy version of a PHP app running
  • Security hardening

Build and Deployment

  • Automated builds with Docker Cloud
  • Private registries
  • GitLab Docker Builds
  • Application Deployment to Digital Ocean

Watch a Free Screencast Preview

Docker for PHP Developers includes over 7.5 hours of screencasts designed to help you learn how to use Docker as a PHP development environment.
<iframe width="896" height="504" src="https://www.youtube.com/embed/QeepkWC-qM0?rel=0" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>

* Book-only packages are also available.

The Docker PHP Videos

Docker for PHP Developers includes over 7.5 hours of screencasts.

Introduction and Setup

1 - Welcome

2 - Install Docker for Mac

3 - Install Docker for Windows

4 - Install Docker for Ubuntu

5 - Docker Machine Intro

Docker Container Basics

6 - Basic Docker Commands

7 - Docker Compose

Docker LAMP

8 - Apache Setup

9 - MySQL in Docker

10 - Setting Up PHP Modules and Apache Modules

11 - Data Volumes

PHP Composer

12 - Installing Composer in Docker

13 - Private Composer Packages

14 - Caching Composer Dependencies

Web Servers

15 - Nginx (Part 1)

16 - Nginx (Part 2)

17 - Caddy HTTP/2 Server

Working With Legacy Apps

18 - Introduction

19 - Legacy App Setup

20 - Docker Compose and Apache Configuration

21 - Running a Legacy Console

22 - Composer and phpdotenv

23 - Configuring ENV with phpdotenv

24 - Improved Database Configuration

Custom Docker Commands

25 - The CMD Setup

26 - Using Confd for Configuration Management

27 - Adding Confd to the CMD Script

28 - Using Consul with Confd for Configuration Management

Working with Docker Registries

29 - Docker Registry Setup

30 - Pushing Images to Docker Hub

31 - Automate Builds with Docker Cloud

32 - Automate Builds with GitLab

33 - Automate Builds with GitLab CI Pipelines

34 - Extending Custom Base Images

Deployment

35 - Simple Docker Machine Deployment

36 - Docker Swarm Overview


Setting up Laravel and Docker

These videos are available in the
Complete Video Bundle

1 - Laravel Getting Started

2 - Copying Files and the Apache Vhost

3 - Apache Permissions

4 - Apache Mod_rewrite

5 - Creating a Docker Compose File

6 - Setting up MySQL

7 - Adding a Redis Service

8 - Configuring an App Volume for Instant Code Changes

9 - Docker and XDebug Setup

10 - A Flexible XDebug Configuration

11 - A Custom Start Script for Laravel Projects

12 - Running the Laravel Scheduler and Queue in Docker

13 - Improving the Scheduler

14 - Improving the Queue

15 - Adding a php.ini File

16 - Opcache Setup

17 - Using Nginx with Laravel

18 - Switching the Scheduler and Queue to Supervisor

19 - Copy vs. Add

20 - Automated Builds with GitLab CI - Intro

21 - Automated Builds with GitLab CI - Composer Build

22 - Automated Builds with GitLab CI - Frontend Build

23 - Automated Builds with GitLab CI - Application Docker Build

24 - Automated Builds with GitLab CI - Application Docker Build with Tags

What's Inside the Book

Chapter 1 Introduction to Docker

We'll jump right in and install Docker, with installation steps for Mac OS X, Linux, and Windows. Then, you'll run your first container to verify that your setup is working properly.

Chapter 2 PHP Container Basics

Learn your way around Docker with hands-on commands. We'll start off with the basics so you can learn how build your first Docker image from scratch and how to run it. We'll then go over customizing a PHP INI file.

Chapter 3 LAMP with Docker

Learn how simple it is to build your own LAMP stack with Docker, without any 3rd party tools. You will also learn how to install and configure PHP modules, all while versioning your configuration in your projects.

Chapter 4 Development Tools

Learn how to master Xdebug with Docker with a step-by-step guide that shows you how to install Xdebug with a reusable configuration. You'll also learn how to remove Xdebug when you deploy Docker to production environments.

Chapter 5 Composer PHP

Are you curious how to use PHP Composer with Docker? You will Learn how to install the Composer CLI tool and install your application dependencies while building a Docker image. Learn how to install private composer repositories without leaving a trace of sensitive API keys or SSH credentials. Learn how to cache Composer dependencies for faster image builds.

Chapter 6 PHP-FPM and Webservers

Running a Webserver in Docker is a little different than on a traditional server. We cover installing Nginx and PHP-FPM and how they communicate in between Docker containers. We also walk through using Caddy Server, an HTTP/2 web server with automatic HTTPS.

Chapter 7 Legacy PHP Applications

Let's face it, we all have that legacy application in our lives. This chapter will help you set up an older version of PHP with Docker and show you how to retrofit configuration in older applications.

Chapter 8 Custom Commands

Go beyond the basics of running a container with custom commands and learn how to customize your application startup and runtime. Learn how to use Confd with Consul to separate configuration management from infrastructure code.

Chapter 9 Docker Registry Builds

Learn how to take your Docker images to the cloud and share them with others. We'll cover how to push your Docker images to registries and automatically build them when you push code commits to GitHub and other services.

Chapter 10 Deploying Docker

Take your first steps in deploying Docker to Digital Ocean with Rancher. Deployment is a big topic, and this chapter is a perfect first step for Developers. Learn how to push your image builds to Rancher from the command line with Rancher Compose.

Nice Stuff People are Saying

I first met Paul when he was writing his book on testing Lumen APIs. I learnt a lot from that book, and I’ve learnt a lot from his writing on @laravelnews.

I can confidently say that if you were wanting to learn about Docker as a PHP developer, this is a great place to start! https://t.co/1HbMundpbT

— Michael Dyrynda (@michaeldyrynda) January 23, 2018

@paulredmond reading your book on #docker and #php. It’s fantastic! Exactly the sort of thing devs need. The way you build up showing long hand first and shortcuts next is perfect!

— Daniel LaBarge (@dalabarge) August 2, 2018
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

Hey, super nice! @paulredmond's new "Docker for PHP developers" uses Operator for all the code examples, with Operator Italics for the comments, natch. Thanks, Paul! https://t.co/vEdGpKXufk pic.twitter.com/oUqGMcaVzP

— Hoefler&Co. (@HoeflerCo) January 16, 2018

@paulredmond really great book! Totally worth the wait. Feels like having you explain everything beside me. Would recommend for anyone that wants an excellent way of developing locally and deploying with ease! #dockerphp #docker #books

— Chris Stadler (@cstadler333) January 24, 2018

I just received this nice testimonial 💖

"So far I am loving the book, everything is explained clearly, and I've gained a lot of confidence using Docker. – David B."

— Paul Redmond 🇺🇸 (@paulredmond) May 9, 2018

I spent so many hours trying to figure this things out by myself and you make it look so easy 👌. This is gold for beginners. Next stop, chapter 6 🔥.

— Jose Barbosa (@josesabarbosa) January 26, 2018

That feeling when you finally get @laravelphp up and running in @Docker 🙌🏻🙌🏻. Thanks @paulredmond for making it all possible!! #containers #whales #docker #imsoexcited

— Alexander Six (@alexandersix_) November 10, 2018

Bought the book yesterday around the middle of the day, and today I already understand docker for development and automatic deployments, even tried the whole process.
Good job

— Shpëtim Islami ⚡ (@itsshpetim) December 10, 2018

Holy smokes! Great deal! Paul's book is fantastic, HIGHLY recommend it! https://t.co/e2MU5bUp4t

— TJ Miller 🐳🐘 (@SIXLIV3) January 23, 2018

📘Just read through the first few chapters of @paulredmond’s book. It’s such a smooth read, and he makes Docker seem a lot more accessible. If you're interested in learning Docker, you should pick it up!https://t.co/hjJQTkPtdU

— Chris Gmyr (@cmgmyr) January 25, 2018

I’ve already got through 2 chapters! It’s so easy to follow! Definitely pick this up! I have confidence that I can figure this out. Thanks @paulredmond 🔥🔥🔥 https://t.co/aXs8WVNxn8

— Vince Mitchell (@vmitchell85) January 25, 2018

Really loving the Docker for PHP Developers book (https://t.co/3NEIgFrpmo) by @paulredmond, thanks for such an awesome book and the laravel starter project is excellent! Awesome stuff 👍

— Liam Norman (@liamjnorman) January 25, 2018

Just bought Docker for PHP Developers by @paulredmond. 😍
A great way to start using @Docker in @symfony / @laravelphp projects 👍#dockerphp

— Mr. PReimers (@MrPReimers) January 26, 2018

Just finished "Docker for PHP Developers" by @paulredmond. What a fantastic read! If you've wanted to learn more about Docker this book is a great way to do it. I wish I had this book several months ago when I first started working with Docker - so many things are clearer now.

— John Madrak (@johnmadrak) September 10, 2018

I'm loving your ebook! What a great reference! Never used Docker before this and I have Laravel apps and legacy apps running.

I just bought the video bundle because of your great work! Thanks for all you do in the Laravel community! To our favorite human, cheers!

— Corey Coburn (@coreycoburn) November 7, 2018

Get Docker for PHP Developers

Options available for Videos + Book, Videos Only, and Book Only

Docker for PHP Developers - Complete Video Bundle

Complete Video Bundle

Comes with full series of 60+ videos on getting started with Docker (34 videos) and setting up Docker for Laravel (24 videos). Comes with the Docker for PHP Developers eBook, plus the source code of two starter projects. Learn how to organize your projects with Docker and the latest Laravel and Symfony frameworks.

  • Stream and Download all 60+ lessons
  • Access to any future videos added to the course
  • Starter project source code for Laravel 5.5 and Symfony 4, based on my professional Docker setup. Both starter projects use PHP 7.2.
  • The 222-page Docker for PHP Developers Book
  • Beautiful handcrafted PDF design
  • Basic ePub and Mobi formats included
Here's the breakdown for team pricing:
  • 3 Developers — $345
  • 5 Developers — $575
  • 8 Developers — $880
  • 10 Developers — $1,100
  • 15 Developers — $1,575
  • 20 Developers — $1,980
  • 25 Developers — $2,475

Docker for PHP Developers - Starter Video Bundle

Video-only Bundle

Comes with full series of 60+ videos on getting started with Docker (34 videos) and setting up Docker for Laravel (24 videos). Comes with the source code of two starter projects. Learn how to organize your projects with Docker and the latest Laravel and Symfony frameworks.

  • Stream and Download all 60+ lessons
  • Access to any future videos added to the course
  • Starter project source code for Laravel 5.5 and Symfony 4, based on my professional Docker setup. Both starter projects use PHP 7.2.
  • Does not include the eBook (see the Complete Video Bundle)

Docker for PHP Developers Starter Edition

Book Only

Learn how to use Docker as a full-time development environment for PHP, with a beautiful, handcrafted book that will help you get from zero experience to Docker user quickly.

  • The 222-page Docker for PHP Developers Book
  • Beautiful handcrafted PDF design
  • Basic ePub and Mobi formats included

Paul Redmond

About the Author

Hello! I'm Paul Redmond. I'm a full stack developer writing stuff with Laravel, Vue.js, and Docker. I am passionate about being productive, writing clean code, and creating simple infrastructure.

I am the author of Writing APIs with Lumen, now published with Apress as Lumen Programming Guide. I am also a staff writer for Laravel News. You can find me on Twitter as @paulredmond.

© <script type="text/javascript">document.write(new Date().getFullYear());</script> Bitpress. All Rights Reserved.

<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script> <script src="https://gumroad.com/js/gumroad.js"></script>