2.9 KiB
Créer une image Docker pour votre projet Symfony
⚠ La procédure suivante s'applique dans le cadre d'un déploiement sur Docker.
Pour créer une image à destination d'un environnement Kubernetes, préférer la procédure "Usage dans Kubernetes"
Création d'une image
-
Dans le répertoire de votre projet, créer le fichier
Dockerfile
suivant:ARG ADDITIONAL_PACKAGES="<packages_list>" FROM reg.cadoles.com/cadoles/symfony:alpine-php-8.1-standalone
La variable d'environnement
ADDITIONAL_PACKAGES
permet de définir une liste de paquets supplémentaires à installer avant d'exécuter les "triggers" de base embaqrués par l'image. Voir "Installer des paquets supplémentaires" pour plus d'information. -
Créer le fichier
.dockerignore
avec les données suivantes:/vendor /var
-
Construire l'image de votre application
docker build \ -t my-symfony-app:latest \ .
-
Exécuter l'image de votre application
docker run \ -it \ --rm \ -p 8080:8080 \ my-symfony-app:latest
-
Ouvrir l'URL http://localhost:8080. Votre application devrait s'afficher.
Utilisation de votre image en développement
-
Avec docker:
docker run \ -it --rm \ -p 8080:8080 \ -v "${PWD}/src:/app/src:delegated" \ -v "${PWD}/templates:/app/templates:delegated" \ -v "${PWD}/translations:/app/translations:delegated" \ -v "${PWD}/tests:/app/tests:delegated" \ -v "${PWD}/config:/app/config:delegated" \ -v "${PWD}/.env:/app/.env:delegated" \ test-symfony-app
-
Avec docker-compose:
-
Créer un fichier
Dockerfile.standalone
à la racine de votre projet:ARG ADDITIONAL_PACKAGES="" FROM reg.cadoles.com/cadoles/symfony:alpine-php-8.1-standalone
-
Créer un fichier
docker-compose.yml
:version: '3' services: app: build: context: . dockerfile: Dockerfile.standalone ports: - ${APP_HTTP_PORT:-8080}:8080 volumes: - ./src:/app/src:delegated - ./templates:/app/templates:delegated - ./translations:/app/translations:delegated - ./tests:/app/tests:delegated - ./config:/app/config:delegated - ./.env:/app/.env:delegated environment: PHP_FPM_MEMORY_LIMIT: 128m APP_ENV: dev ## truncated for brevity
-
Démarrer l'environnement
docker-compose up
-