Accélérer les tests de Symfony en stockant en mémoire les données d'un conteneur Docker

Je n'utilisais pas Docker lorsque j'avais stocké dans la RAM les données de cache et de logs.

Maintenant que j'utilise couramment Docker, j'ai réutilisé cette idée afin de stocker certains données des conteneurs dans la RAM.

Dans un fichier docker-compose.yml, on peut utiliser la configuration tmpfs pour monter des volumes directement dans la RAM.

Il est à noter que cette configuration fonctionne également avec Gitea.

Application Symfony

version: '2'

services:
  web:
    image : …
    volumes:
      - .:/app
    tmpfs:
      - /app/var/cache/
      - /app/var/log/

Bases de données

Pour un conteneur MySQL :

version: '2'

services:
  mysql:
    image: mysql:5.7
    tmpfs:
      - /var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: mysql
      MYSQL_DATABASE: mysql
      MYSQL_USER: mysql
      MYSQL_PASSWORD: mysql

Pour un conteneur PostgreSQL

version: '2'

services:
  db:
    image: mdillon/postgis:9.6
    tmpfs:
      - /usr/local/var/postgres
    environment:
      - DEBUG=false
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=postgres
      - POSTGRES_DB=postgres