Web server con sql server drive pdo_sqlserver per ddev
8.6K
Build custom per Docker image da utilizzare nei progetti in locale con DDEV.
Il Dockerfile in questa repository permette di costruire un'immagine da inserire come webimage nel config.yaml di DDEV. L'immagine è dotata di tutti i pacchetti microsoft per gestire SQL Server, versione 8.0 di PHP con dipendenze necessarie, node 14.7 (derivante dall'immagine di drud/ddev-webserver:1.17). Inoltre nell'immagine sono montati i pacchetti di pdo_sqlsrv e sqlsrv, driver di PHP per gestire la connessione coi database SQL Server.
Per aggiungere i driver ad una versione di PHP è necessario intervenire sulle variabili presenti in Dockerfile aggiungendo la versione di PHP desiderata.
ENV PHP_VERSIONS_SQLSERVER="php7.0 php7.1 php7.2 php7.3 php7.4 php8.0"
ENV PHP_VERSIONS_NUMBER_SQLSERVER="7.0 7.1 7.2 7.3 7.4 8.0"
I driver di PHP per SQL Server sono aggiunti tramite pecl, una repository per la gestione dei pacchetti PHP. Per andare ad aggiornate con la versione desiderata i driver bisogna intervenire nel file sqlserver.sh:
pecl -d php_suffix=$v install -f sqlsrv-5.9.0
pecl -d php_suffix=$v install -f pdo_sqlsrv-5.9.0
Aggiornamenti sui driver e le versioni mantenute e aggiornate sono presenti a questi link:
L'immagine aggiornata di drud/ddev-webserver presenta la versione Debian 10. Per aggiornare i pacchetti microsoft ODBC alla versione corretta bisogna intervenire in Dockerfile inserendo la versione di Debian corretta
curl https://packages.microsoft.com/config/debian/10/prod.list > /etc/apt/sources.list.d/mssql-release.list
Per ulteriori info si rimanda alla documentazione: Microsoft ODBC 17
Per maggiori info riguardo l'installazione corretta dei driver SQL Server per PHP si rimanda alla documentazione ufficiale di Microsoft: INSTALLAZIONE SU DEBIAN
Per la pubblicazione dell'immagine su Docker Hub è necessario essere registrati sulla piattaforma. La repository di Docker Hub presenta già delle impostazioni adatte all'automatizzazione del procedimento. All'atto pratico ad un nuovo push su master è necessario semplicemente pubblicare una nuova release. Lo stile scelto per la release fa riferimento alla versione utilizzata di ddev-webserver, immagine di partenza della build:
vX.XX.X-nome-della-release
Tag dell'immagine risultante:
pallino/ddev-webserver:X.XX.X
Docker Hub farà un pull della repository, costruirà l'immagine e, infine, un push di questa estrapolando nome e tag dalla repository e dal tag della release. Le immagini correnti sono disponibili sulla pagina di Docker Hub: pallino/ddev-webserver.
È possibile pubblicare una nuova immagine in maniera manuale tramite i semplici passaggi descritti di seguito. È necessario loggarsi all'interno dell'applicazione Docker Desktop. Una volta loggati è possibile fare una build di un'immagine, ad esempio:
docker build -t pallino/ddev-webserver:1.17.7 ./
Successivamente è necessario attivare il container:
docker run pallino/ddev-webserver:1.17.7
Quindi è possibile pubblicare la build sulla repository associata all'account di Docker fornito.
docker push pallino/ddev-webserver:1.17.7
Per un approfondimento riguardo la pubblicazione su Docker Hub è possibile consultare la documentazione ufficiale https://docs.docker.com/docker-hub/.
Content type
Image
Digest
Size
521 MB
Last updated
over 4 years ago
docker pull pallino/ddev-webserver