Skip to content

manudoni-hubcore/docker-php-composer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

docker-php-composer

Questa immagine Docker personale permette di eseguire Composer all'interno di WSL (Windows Subsystem for Linux) senza doverlo installare direttamente nel sistema operativo. È pensata per semplificare la gestione delle dipendenze PHP in ambienti di sviluppo isolati e riproducibili.

Caratteristiche

  • Basata su Laravel Sail con Composer preinstallato
  • Utente non-root configurato per evitare problemi di permessi
  • Supporto per volumi persistenti (dati Composer e progetto)
  • Include laravel/installer e cpx globalmente

Build dell'immagine

docker build -t manudonihubcoreai/composer:latest .

Build con parametri personalizzati

Puoi personalizzare la versione di PHP e l'utente del container tramite i parametri di build:

docker build --build-arg PHP_VERSION=81 --build-arg USER_ID=$(id -u) --build-arg USER_GROUP=$(id -g) -t manudonihubcoreai/composer:81 .

Esecuzione del container

docker run -it --rm -u "$(id -u):$(id -g)" \
    -e HOME=/home/docker \
    -e COMPOSER_HOME=/home/docker/.composer \
    -v composer_data:/home/docker/.composer \
    -v "$(pwd):/var/www/html" \
    -w /var/www/html \
    manudonihubcoreai/composer:latest composer [comando]

Esempio per installare le dipendenze:

docker run -it --rm -u "$(id -u):$(id -g)" \
    -e HOME=/home/docker \
    -e COMPOSER_HOME=/home/docker/.composer \
    -v composer_data:/home/docker/.composer \
    -v "$(pwd):/var/www/html" \
    -w /var/www/html \
    manudonihubcoreai/composer:latest composer install

Note

  • Per semplificare l'uso dei comandi, puoi creare un alias nel tuo terminale:

    alias drun='docker run -it --rm -u "$(id -u):$(id -g)"'

    In questo modo puoi sostituire docker run -it --rm -u "$(id -u):$(id -g)" con drun in tutti gli esempi del README.

  • Puoi usare questa immagine in WSL o in qualsiasi ambiente Docker compatibile.

  • Il volume composer_data mantiene la cache e la configurazione di Composer tra le esecuzioni.

  • Il volume del progetto ($(pwd):/var/www/html) consente di lavorare sulla directory corrente.

Esempi di comandi utili

Mostra i pacchetti globali:

docker run -it --rm -u "$(id -u):$(id -g)" \
    -e HOME=/home/docker \
    -e COMPOSER_HOME=/home/docker/.composer \
    -v composer_data:/home/docker/.composer \
    manudonihubcoreai/composer:latest composer global show -D

Installa un pacchetto:

docker run -it --rm -u "$(id -u):$(id -g)" \
    -e HOME=/home/docker \
    -e COMPOSER_HOME=/home/docker/.composer \
    -v composer_data:/home/docker/.composer \
    -v "$(pwd):/var/www/html" \
    -w /var/www/html \
    manudonihubcoreai/composer:latest composer require vendor/package

Alias consigliato per Composer

Per semplificare l'utilizzo di Composer senza installarlo localmente, puoi aggiungere questo alias al tuo .bashrc, .zshrc o file di configurazione della shell:

alias composer='docker run -it --rm -u "$(id -u):$(id -g)" -e HOME=/home/docker -e COMPOSER_HOME=/home/docker/.composer -v composer_data:/home/docker/.composer -v "$(pwd):/var/www/html" -w /var/www/html manudonihubcoreai/composer:latest composer'

In questo modo potrai eseguire tutti i comandi Composer direttamente dal terminale, come se fosse installato nativamente:

composer install
composer require vendor/package
composer global show -D

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published