如果我在 docker-compose 项目中定义了很多服务,如何从默认服务中排除某个服务docker-compose up
命令?
例如,我有一个 nginx 服务和一个 ssl 服务。它们发生冲突,因为它们都消耗端口 80,所以我怎样才能使 ssl 服务不会启动,除非我专门运行该服务,并且默认情况下up
命令会执行除 ssl 服务之外的所有操作吗?
从...开始docker-compose 1.28.0 https://github.com/docker/compose/releases/tag/1.28.0新的服务简介 https://docs.docker.com/compose/profiles/就是为此而生的!和profiles
您可以将服务标记为仅在特定配置文件中启动,例如:
services:
webapp:
# ...
nginx:
# ...
profiles: ["nginx"]
ports:
- 80:80
ssl:
# ...
profiles: ["ssl"]
ports:
- 80:80
docker-compose up # start only your webapp services
docker-compose --profile nginx up # start the webapp and nginx service
docker-compose --profile ssl up # start the webapp and ssl service
docker-compose run ssl # run the ssl service
然而,根据您的具体用例/设置,最好将您的服务分为多种的docker-compose.yml files https://docs.docker.com/compose/extends/#multiple-compose-files.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)