JeroenBoersma / docker-compose-development

Clone and `bin/dev up`. Quickly start of developing locally with Nginx, PHP, Blackfire, Percona, Mailhog and Redis. Out of the box support for Magento2 Developer Box
MIT License
206 stars 63 forks source link
development docker docker-compose docker-magento docker-magento2 local-development magento magento-developer-box magento2 mysql php php56 php70 php71 php72

Installation

Prerequisites

Install docker engine and docker compose plugin, for more info check: https://docs.docker.com/engine/install/

sudo apt-get remove docker docker-engine docker.io containerd runc
sudo apt-get update
sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

Add user to the docker group and reboot

sudo usermod -aG docker ${USER}
reboot

Cloning

https://github.com/JeroenBoersma/docker-compose-development/tree/development-docker-compose-2/

git clone -b development-docker-compose-2 https://github.com/JeroenBoersma/docker-compose-development.git development

cd development
bin/dev setup
# press enter a few times and read instructions
# default php81
# setup your needs (elasticsearch/rabbitmq/etcetera)
# you can always run this again

# adding to your profile to use `dev` commands
bin/dev profile >> ~/.zshrc # or ~/.bashrc if you use bash

If you just installed zsh and your shell isn't changing to zsh, try logging in and out.

Move the workspace directory to home

To avoid having the .git from the clone in your workspace, you can optionally move your workspace to your home directory.

cd

dev down --remove-orphans

dev volume rm workspace
mkdir workspace
dev volume workspace workspace

cdw
dev php-change php81 # if that's the default

dev up

Make MySQL persistent in your development directory (optional)

This will destroy all current databases

cd
cd development

dev down --remove-orphans

dev volume rm mysql
mkdir mysql
dev volume mysql mysql

dev setup # this will add your user and correct settings (press enter to everything)