docker-compose怎么取消某些服务,不让启动呢?

services:

  wp-hacker:
    image: wordpress
    container_name: wp-hacker
    ports:
      - 8333:80
    networks:
      - my_network
 wp-test:
    image: wordpress
    container_name: wp-test
    ports:
      - 84444:80
    networks:
      - my_network

启动服务我常用 docker-compose up -d 直接启动服务,但有时某个服务暂时不想启动,那似乎只能把 docker-compose.yml 中的对应服务删掉,有没有什么属性可以配置下,让服务暂时失效,不启动呢?

阅读 7.9k
3 个回答
docker-compose up -d 服务名1 服务名2 服务名3 ...

这样即可仅启动特定服务

新手上路,请多包涵
配置多个yml启动文件 对服务进行分组 需要哪些就使用哪个文件
docker-compose -f 文件名 up -d 

升级 docker compose 到新版本,使用 profiles 可以做到
https://docs.docker.com/compo...

profiles: ["frontend", "debug"]
profiles:
  - frontend
  - debug
$ docker compose --profile debug up
$ COMPOSE_PROFILES=debug docker compose up

如果service加上profiles标记,只有在命令行指定此标记才会启动。

Profiles allow adjusting the Compose application model for various usages and environments by selectively enabling services. This is achieved by assigning each service to zero or more profiles. If unassigned, the service is always started but if assigned, it is only started if the profile is activated.

This allows one to define additional services in a single docker-compose.yml file that should only be started in specific scenarios, e.g. for debugging or development tasks.

机翻:

profiles 允许通过有选择地启用服务,为各种用途和环境调整 Compose 应用程序模型。这是通过将每个服务分配给零个或多个配置文件来实现的。如果没有指定,服务就会一直启动,但如果指定了,只有当 profiles 被激活时才会启动。

这允许人们在一个 docker-compose.yml 文件中定义额外的服务,这些服务只能在特定情况下启动,例如用于调试或开发任务。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题