Configure a perfect Drupal development environment on local machine ( Windows )
For Docker Desktop, you need to install a supported Windows operating system in which you must need to enable "Hyper-V", "Container" and "Hardware Virtualization" features in BIOS settings.
Then visit here https://docs.docker.com/docker-for-windows/install/ and create an account and download the “Docker Desktop Installer.exe” file and then run the installer
When the Docker has been installed successfully then please opens “Docker Desktop”, You can see the whale icon in the status bar, when you move the cursor over this icon it shows the docker current status. After some time it gives the message that the Docker desktop is up-and-running, and now it can be accessed from any terminal window.
Now the docker has been installed successfully on your system.
Install some additional tools that helps in the use of Docker.
For use the git bash in Visual Studio Code, you need to configure the user preferences settings.
Press Ctrl+Shift+p and click on "Preferences: Open User Settings" and then go to the Features terminal section and edit the Windows setting
"terminal.integrated.shell.windows": "C:\\Program Files\\Git\\usr\\bin\\bash.exe"
Now go to the terminal menu and open a new terminal and choose the default shell "bash" for Docker.
Then you can install the container to run these commands “docker-compose up –d”
Note: For older Windows version you need to install Docker Toolbox to run the the Docker https://github.com/docker/toolbox/releases
I have a Bitbucket environment where docker has already setup, so I have just clone all the files on my local and run the docker command.
$ git clone https://firstname.lastname@example.org/zyrous/edge-site-framework.git
Update container names in app/docker-compose.yml file.
Copy sample .env.dev file into .env and modify it.
$ cp app/.env.dev app/.env
$ docker-compose up -d
SSH into Drupal container.
$ docker-compose exec drupal bash
$ apt install zip unzip
$ composer install
$ drush cim
Now visit your site here http://localhost:8080