Come creare un container di Docker con PHP 8, Nginx e MySQL

Configura facilmente un ambiente PHP 8.2 con Nginx e MySQL usando Docker. Clona il progetto e segui i passaggi per avere tutto pronto in pochi minuti.
David Quiñones

A volte abbiamo bisogno di un ambiente PHP pulito per iniziare un nuovo progetto o fare esperimenti. Questa risorsa gratuita ti aiuterà a configurare un ambiente di sviluppo in modo semplice usando Docker.

Quale sarà il risultato finale?

Alla fine dell'installazione, avrai:

  • Un ambiente basato su PHP 8.2.13 con Nginx (nginx:stable-alpine) come server web.
  • Un container MySQL 8.0.37 per gestire il database.
  • Accesso web tramite l'URL http://envphp.local.

Prerequisiti

Prima di iniziare, assicurati di avere:

  • Docker versione 23 o superiore
  • Docker Compose versione v1.29.2 o superiore
  • Conoscenze base dei comandi Docker  (puoi consultare questa lista)

Se non hai ancora installato Docker, consulta la documentazione ufficiale: https://docs.docker.com/engine/install/

Passaggi per l'installazione

Clona il progetto

Esegui il seguente comando per clonare il repository che contiene l'ambiente preconfigurato.

git clone git@github.com:dqblanco/help-commands.git

Copia i file nel tuo progetto

Copia la cartella interna situata in ./help-commands/Docker/EnvPHP/ nella cartella del tuo progetto.

cd ~/Documents/Projects/
mkdir myproject
cp -R ~/Documents/Projects/help-commands/Docker/EnvPHP/* ~/Documents/Projects/myproject/

Nota: Ricorda di cambiare il percorso ~/Documents/Projects/ con quello che usi per i tuoi progetti.

Dentro la cartella myproject dovresti trovare la cartella docker.

Accedi alla cartella docker del progetto

cd ~/Documents/Projects/myproject/docker

Configura l'ambiente

Duplica il file .env.dist rinominandolo in .env.

cp .env.dist .env

Aggiungi il nuovo host

Apri il file dei hosts.

sudo vim /etc/hosts

Aggiungi la seguente riga.

127.0.0.1    envphp.local

Salva e chiudi il file.

Avvia i container

Esegui il seguente comando per avviare i container in background.

docker compose up -d

Se tutto è andato a buon fine, potrai accedere a http://envphp.local/ e vedere l'esecuzione di index.php.

Accedi al container

Se hai bisogno di entrare nell'ambiente di lavoro dentro il container.

docker exec -it envphp-workspace bash

Nginx punta alla cartella public del progetto.

Mysql

Per connetterti a MySQL:

  • Utente: root

  • Password: root

  • Host: 127.0.0.1

  • Porta: 3306

Questa risorsa è ideale per configurare rapidamente un ambiente PHP senza preoccuparsi dell'installazione manuale di ogni servizio. Scaricala e provala nel tuo prossimo progetto! 🚀

Condividi questo post