【发布时间】:2016-11-30 22:15:13
【问题描述】:
我的docker-compose.yml 指定了多个图像。其中两个镜像是使用相同的本地Dockerfile 构建的。它们共享相同的图像名称,但每个都有不同的命令。
在开发过程中,我经常使用docker-compose up --build 来重建镜像。问题是 docker 两次构建相同的 myimage - 花费的时间比必要的要长。
有没有办法表示镜像只需要构建一次?
version: '2'
services:
abc:
image: myimage
command: abc
build:
context: .
dockerfile: Dockerfile
xyz:
image: myimage
command: xyz
build:
context: .
dockerfile: Dockerfile
【问题讨论】:
-
除非您将 CMD 指令放在 Dockerfile 的顶部,否则构建缓存应该意味着第二次运行只需几秒钟。第二次运行需要多少时间?
-
两种构建都需要大约 10 秒,具体取决于机器
-
也许在 compose 之外构建?
docker build -t myimage . && docker-compose up
标签: docker docker-compose