version: "3.8" services: postgres: container_name: postgresql image: postgres:14.1-alpine # work_mem: less tmp files # maintenance_work_mem: improve table-level op perf # max_wal_size: allow more time before merging to heap command: > -c work_mem=1GB -c maintenance_work_mem=1GB -c max_wal_size=8GB restart: always volumes: - postgresql-data:/var/lib/postgresql/data:delegated ports: - '5432:5432' expose: - '5432' env_file: - dev/dev.env tty: true networks: - local mysql: container_name: mysql image: mysql:oracle # fsync less aggressively for insertion perf for test setup command: > --default-authentication-plugin=mysql_native_password --binlog-cache-size=16M --key_buffer_size=0 --max_connections=1000 --innodb_flush_log_at_trx_commit=2 --innodb_flush_log_at_timeout=10 --innodb_log_compressed_pages=OFF --sync_binlog=0 restart: always volumes: - mysql-data:/var/lib/mysql:delegated user: mysql ports: - '3306:3306' expose: - '3306' env_file: - dev/dev.env tty: true networks: - local # prestodb.dbapi.connect(host="127.0.0.1", user="presto").cursor().execute('SELECT * FROM system.runtime.nodes') presto: build: context: ./dev dockerfile: ./Dockerfile.prestosql.340 volumes: - ./dev/presto-conf/standalone:/opt/presto/etc:ro ports: - '8080:8080' tty: true networks: - local volumes: postgresql-data: mysql-data: networks: local: driver: bridge