【发布时间】:2019-08-19 02:03:09
【问题描述】:
我正在开发一个项目,其 docker-compose.yml 文件具有很多相互依赖关系:
version: '3'
services:
accounts:
build:
context: ./accounts
dockerfile: Dockerfile
restart: on-failure
depends_on:
- ganache
volumes:
- ./accounts/src:/app/src
- ./accounts/config:/app/config
- ./accounts/.babelrc:/app/.babelrc
environment:
VIRTUAL_HOST: accounts.nightfall.docker
api-gateway:
build:
context: ./API-Gateway
dockerfile: Dockerfile
restart: on-failure
volumes:
- ./api-gateway/src:/app/src
- ./api-gateway/.babelrc:/app/.babelrc
environment:
VIRTUAL_HOST: api.nightfall.docker
...
volumes:
mongo-volume:
driver: local
driver_opts:
type: none
device: $PWD/../local/mongo-volume
o: bind
zkp-keys:
driver: local
driver_opts:
type: none
device: $PWD/../local/zkp-keys
o: bind
我的理解是 Docker Compose 的工作方式是通过参数化运行每个服务来命名服务、连接端口并连接 Docker Compose 配置中指定的顶级卷。
我想每个 Docker 服务都会有等效的命令,这就是 Compose 的工作原理。
我如何找到或制作这些等效的命令,以便我可以自己启动这些服务,一个接一个地使用 Docker Compose 获得相同的结果?
【问题讨论】:
-
您到底想完成什么?为什么不简单地使用
docker-compose?您阅读了哪些文档,以及您不确定如何使用 Docker cli 工具复制此 compose 文件的哪些特定部分? -
我已经尝试过
docker-compose up,这需要花费大量时间来构建我不关心的服务。我的目标是了解一项特定的服务,以便在评估整个系统之前对其进行记录并确保它正常工作。 -
如果您不关心这些服务,只需将它们从
docker-compose.yml文件中删除?此外,目前尚不清楚您不清楚该撰写文件的哪些部分。目前,这个问题的内容是“向我解释 docker-compose 的工作原理”,有点宽泛。如果您可以将范围缩小到特定的技术问题,您将获得更好的答案。 -
我想完全按照这个问题的要求去做。原因是让命令单独运行并避免在这样做时出错。我认为这个问题目前非常集中,并且怀疑“我无法回答这个问题,所以让我解决一个更普遍的问题”的倾向。
标签: docker docker-compose