name: snail-job volumes: mysql: { } postgres: { } sqlserver: { } mariadb: { } services: mysql: image: mysql:8.0.33 restart: unless-stopped environment: TZ: Asia/Shanghai MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: snail_job ports: - "3306:3306" volumes: - mysql:/var/lib/mysql/ # 注入初始化脚本 - ../sql/snail_job_mysql.sql:/docker-entrypoint-initdb.d/init.sql:ro command: --default-authentication-plugin=mysql_native_password --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci --explicit_defaults_for_timestamp=true --lower_case_table_names=1 postgres: image: postgres:14.2 environment: POSTGRES_USER: root POSTGRES_PASSWORD: root POSTGRES_DB: snail_job ports: - "5432:5432" volumes: - postgres:/var/lib/postgresql/data # 注入初始化脚本 - ../sql/snail_job_postgre.sql:/docker-entrypoint-initdb.d/init.sql:ro oracle: image: gvenzl/oracle-xe:18-slim-faststart environment: ## 登录信息 SID: XE user: system password: oracle ORACLE_PASSWORD: oracle ports: - "1521:1521" volumes: - ../sql/snail_job_oracle.sql:/tmp/schema.sql:ro # 创建app用户: snail_job/SnailJob@//localhost/XEPDB1 - ./oracle/1_create_user.sql:/docker-entrypoint-initdb.d/1_create_user.sql:ro - ./oracle/2_create_schema.sh:/docker-entrypoint-initdb.d/2_create_schema.sh:ro sqlserver: image: mcr.microsoft.com/mssql/server:2017-latest environment: TZ: Asia/Shanghai ACCEPT_EULA: "Y" SA_PASSWORD: "SnailJob@24" ports: - "1433:1433" volumes: - sqlserver:/var/opt/mssql - ../sql/snail_job_sqlserver.sql:/tmp/schema.sql:ro # docker compose exec sqlserver bash /tmp/create_schema.sh - ./sqlserver/create_schema.sh:/tmp/create_schema.sh:ro mariadb: image: mariadb:10.11.7 restart: unless-stopped environment: TZ: Asia/Shanghai MARIADB_ROOT_PASSWORD: root MARIADB_DATABASE: snail_job ports: - "3308:3306" volumes: - mariadb:/var/lib/mysql/ # 注入初始化脚本, mysql - ../sql/snail_job_mysql.sql:/docker-entrypoint-initdb.d/init.sql:ro