version: '3.5' services: db: image: mysql:5.7 restart: always command: --init-file /docker-entrypoint-initdb.d/sample.sql environment: MYSQL_ROOT_PASSWORD: 'pass' MYSQL_USER: 'root' MYSQL_PASSWORD: 'pass' MYSQL_DATABASE: 'classicmodels' volumes: - ./tests/docker-sample.sql:/docker-entrypoint-initdb.d/sample.sql - db-data:/var/lib/mysql ports: - "3306:3306" db-api: &db-api build: context: ./ dockerfile: ./dev.Dockerfile environment: DATABASE_HOST: 'db' DATABASE_USER: 'root' DATABASE_PASSWORD: 'pass' DATABASE_NAME: 'classicmodels' ports: - "3002:80" depends_on: - db test: <<: *db-api command: sh -c "npm test" volumes: db-data: