version: '3.9' # 定义通用的环境变量 x-env: &common_env O3_BABEL_PATH: "/usr/bin" O3_GNUPLOT: "/usr/bin/gnuplot" O3_PYMOL: "/usr/bin/pymol" O3_TEMP_PATH: "/tmp" O3_QM_ENGINE: "/opt/orca/orca" O3_MD_GRID_PATH: "/usr/bin/mdgrid" O3_CS3D: "/usr/bin/cs3d" services: # 基础服务 open3dqsar: build: context: docker dockerfile: ${DOCKERFILE} image: hotwa/open3dqsar:${TAG} container_name: open3dqsar_${ENV} environment: <<: *common_env # 引用通用的环境变量 ENV: ${ENV} # 动态设置 ENV 变量 volumes: - ./data:/Open3DQSAR/data ports: - "${PORT}:8080" # 开发环境服务 open3dqsar_dev: profiles: ["dev"] # 开发环境 profile extends: service: open3dqsar environment: <<: *common_env # 引用通用的环境变量 ENV: dev # 开发环境标识 volumes: - ./src/Open3DQSAR:/Open3DQSAR # 映射源代码目录,便于开发调试 # 生产环境服务 open3dqsar_prod: profiles: ["prod"] # 生产环境 profile extends: service: open3dqsar environment: <<: *common_env # 引用通用的环境变量 ENV: prod # 生产环境标识