我可以单独启动或停止引用特定 "docker-compose.yml" 的资源吗?
Can I up or stop resources referring to a specific "docker-compose.yml" individually?
我是容器领域的新手,尤其是 Docker Compose。我对某些概念感到困惑,找不到有关它们的信息。
基本上我想知道我是否可以单独处理不同“docker-compose.yml”文件中的设置。我解释得更好...我想知道 我是否可以单独启动或停止引用特定“docker-compose.yml”的资源.
加上:
为了更好地解释我的疑问,我将向您展示一些关于我要解释的内容的猜想。
在我看来,Docker Compose 可以使用不同的“.yml”文件进行多种配置,如下例所示...
例子
docker-compose -f docker-compose.a.yml -f docker-compose.b.yml up -d
... 而且我还可以单独处理这些设置中的每一个,例如停止引用特定 docker-compose.yml[=41= 的所有资源]...
例子
docker-compose -f docker-compose.b.yml stop
[Ref(s).: https://gabrieltanner.org/blog/docker-compose#using-multiple-docker-compose-files , https: //whosebug.com/q/29835905/3223785 , , https://runnable.com/docker/advanced-docker-compose-configuration ]
是的,这是可能的。我不确定您要做什么,但是为了能够按照您描述的方式使用 -f
选项管理服务,多个文件上不应有同名服务。
例如,如果您在 docker-compose.a.yml
中有一项名为 db
的服务,在 docker-compose.b.yml
中有一项名为 db
的服务。以下命令只会为 db
服务构建一个容器:
docker-compose -f docker-compose.a.yml -f docker-compose.b.yml up -d
看看-p
option。它将创建一个项目,其中的服务是隔离的。然后你可以使用相同的 docker-compose.yml
文件使用以下命令来管理它们:
docker-compose -p foo up -d
docker-compose -p foo stop [service_name]
是的,你可以。
这只是一个偏好问题,但我通常为我拥有的每个项目创建一个文件夹,每个项目都有一个独特的 docker-compose.yml 文件及其所有依赖项(前端/数据库/redis)
然后为了开始一个特定的项目,我只是进入它的文件夹并运行 docker-撰写。然后它只启动这个项目而不接触其他人。
如果只想启动redis也可以这样输入
docker-compose up redis
所有 docker-compose 子命令(向上、停止、向下...)必须消耗 docker-编写<.SOME_OPT_VAL>.yml文件.
这个 docker-compose.yml 文件必须在 docker-compose 命令被执行或必须通过 -f 标志通知。这样,这些子命令将在 docker-compose.yml 文件中定义的“服务”(资源)上执行。
还有可能定义将执行某个子命令的服务...
型号
docker-compose <SUBCOMAMND> <OPT_SERVICE_NAME>
docker-compose -f <DOCKER_COMPOSE_YML> <SUBCOMAMND> <OPT_SERVICE_NAME>
例子
docker-compose stop api
docker-compose -f docker-compose.yml stop api
我是容器领域的新手,尤其是 Docker Compose。我对某些概念感到困惑,找不到有关它们的信息。
基本上我想知道我是否可以单独处理不同“docker-compose.yml”文件中的设置。我解释得更好...我想知道 我是否可以单独启动或停止引用特定“docker-compose.yml”的资源.
加上:
为了更好地解释我的疑问,我将向您展示一些关于我要解释的内容的猜想。
在我看来,Docker Compose 可以使用不同的“.yml”文件进行多种配置,如下例所示...
例子
docker-compose -f docker-compose.a.yml -f docker-compose.b.yml up -d
... 而且我还可以单独处理这些设置中的每一个,例如停止引用特定 docker-compose.yml[=41= 的所有资源]...
例子
docker-compose -f docker-compose.b.yml stop
[Ref(s).: https://gabrieltanner.org/blog/docker-compose#using-multiple-docker-compose-files , https: //whosebug.com/q/29835905/3223785 ,
是的,这是可能的。我不确定您要做什么,但是为了能够按照您描述的方式使用 -f
选项管理服务,多个文件上不应有同名服务。
例如,如果您在 docker-compose.a.yml
中有一项名为 db
的服务,在 docker-compose.b.yml
中有一项名为 db
的服务。以下命令只会为 db
服务构建一个容器:
docker-compose -f docker-compose.a.yml -f docker-compose.b.yml up -d
看看-p
option。它将创建一个项目,其中的服务是隔离的。然后你可以使用相同的 docker-compose.yml
文件使用以下命令来管理它们:
docker-compose -p foo up -d
docker-compose -p foo stop [service_name]
是的,你可以。
这只是一个偏好问题,但我通常为我拥有的每个项目创建一个文件夹,每个项目都有一个独特的 docker-compose.yml 文件及其所有依赖项(前端/数据库/redis)
然后为了开始一个特定的项目,我只是进入它的文件夹并运行 docker-撰写。然后它只启动这个项目而不接触其他人。
如果只想启动redis也可以这样输入
docker-compose up redis
所有 docker-compose 子命令(向上、停止、向下...)必须消耗 docker-编写<.SOME_OPT_VAL>.yml文件.
这个 docker-compose.yml 文件必须在 docker-compose 命令被执行或必须通过 -f 标志通知。这样,这些子命令将在 docker-compose.yml 文件中定义的“服务”(资源)上执行。
还有可能定义将执行某个子命令的服务...
型号
docker-compose <SUBCOMAMND> <OPT_SERVICE_NAME>
docker-compose -f <DOCKER_COMPOSE_YML> <SUBCOMAMND> <OPT_SERVICE_NAME>
例子
docker-compose stop api
docker-compose -f docker-compose.yml stop api