profiles 声明 ####################### docker-compose 中包含许多服务,我们可以通过使用 profiles 属性来控制是否启动某项服务。profiles 属性的值是数组形式的,例如我将为 redis 属性增加一个名为 alming 的 profile:: version: "3.9" services: web: build: . ports: - "5000:5000" volumes: #将宿主机当前目录与容器内/code目录绑定,功能与docker run的-vc参数一致 - .:/code environment: # 设置容器内环境变量,功能与Dockerfile ENV指令以及docker run的-e参数一致 FLASK_ENV: development redis: image: "redis:alpine" profiles: alming 启动它,会发现 redis 服务并未启动:: $ docker-compose up Starting compose_web_1 ... done Attaching to compose_web_1 web_1 | * Serving Flask app 'app.py' (lazy loading) web_1 | * Environment: development web_1 | * Debug mode: on web_1 | * Running on all addresses. web_1 | WARNING: This is a development server. Do not use it in a production deployment. web_1 | * Running on http://172.18.0.2:5000/ (Press CTRL+C to quit) web_1 | * Restarting with stat web_1 | * Debugger is active! web_1 | * Debugger PIN: 132-905-791 激活 profiles ==================== 第一种就是使用 --profile 参数,启动命令如下:: $ docker-compose --profile alming -f docker-compose-profiles.yml up 第二种方式是配置 COMPOSE_PROFILES 环境变量,例如执行以下命令添加环境便令:: $ export COMPOSE_PROFILES=alming $ docker-compose up