version: '3.8' services: app: build: context: . dockerfile: Dockerfile volumes: - ../..:/workspaces:cached env_file: "devcontainer.env" # Overrides default command so things don't shut down after the process ends. command: sleep infinity # Runs app on the same network as the database container, allows "forwardPorts" in devcontainer.json function. network_mode: service:db # Use "forwardPorts" in **devcontainer.json** to forward an app port locally. # (Adding the "ports" property to this file will not forward from a Codespace.) db: image: mariadb:10.4 restart: unless-stopped volumes: - mariadb-data:/var/lib/mysql env_file: "devcontainer.env" environment: MYSQL_ROOT_PASSWORD: root command: ['mysqld', '--character-set-server=utf8mb4', '--collation-server=utf8mb4_unicode_ci'] # Add "forwardPorts": ["3306"] to **devcontainer.json** to forward MariaDB locally. # (Adding the "ports" property to this file will not forward from a Codespace.) volumes: mariadb-data: networks: default: