【发布时间】:2017-08-21 04:33:56
【问题描述】:
我是 docker-compose 的新手,在阅读了文档后,我仍然有一些不清楚的事情出现在我的脑海中。
到目前为止,当我使用 docker 时,我将构建保存在以下目录树中:
builds:
Service A:
Dockerfile
ServiceA.jar
Service B:
Dockerfile
ServiceB.jar
所以当我想运行所有的东西时,我会使用一些 shell 脚本,直到我读到 docker-compose。
我看到有两种创建和运行服务的方法(以复制文件的方式)
- 指定
build: path/to/my/build/directory并将其链接到volumes:这样它就可以看到实时代码并刷新服务 - 指定
image:(例如java:8),然后像上面一样使用volumes:
我想了解的是使用docker-compose 的最佳做法是什么
在我深入研究之前,我应该为每个服务创建指定image(并替换为Dockerfile 内的FROM)还是应该指定构建文件夹和卷以保持实时代码更改的路径,以及如何volumes工作及其使用image标签时的用法
谢谢!
【问题讨论】:
-
当你有一个图像可以满足你的需要时,你就使用图像。比如
mysql、redis、nginx。当您在其之上进行更改时,您将使用构建文件来根据您的需要自定义图像 -
这几乎就是我一直在寻找的东西,关于卷,图像与构建有何不同?我也看到了以两种方式使用它的示例
标签: docker-compose