同时在2个WORKDIR工作DOCKEFILE

时间:2018-10-29 12:45:34

标签: docker dockerfile docker-build

我正在尝试减少docker映像的构建时间。

我必须从UI安装节点依赖项来实现后端和Bower依赖项。

现在,它可以从2个不同的工作目录按顺序运行。

WORKDIR $CLIENT_DIR
RUN bower --allow-root install

WORKDIR $SERVER_DIR
RUN npm install

由于两者彼此独立,所以等待安装凉亭安装npm install会很烦人。

我认为Docker将有更好的方式来处理此类情况。

我认为我的问题很干净,不需要更多信息。请让我知道是否还要提供其他信息。

1 个答案:

答案 0 :(得分:1)

由于docker正在分层构建其映像,因此您将无法并行运行此dockerfile。
我可以想到以下两种变通办法,它们可能允许并行化,但是IMO付出的努力比提供给您的价值更大-

  1. 您可以在后台运行这两个命令,然后执行bash脚本来检查进程是否已完成工作。
  2. 您可以通过构建2个映像来利用多阶段构建-一个具有npm依赖关系,另一个具有bower依赖关系,然后获得第三个构建,其中包含由先前2个构建创建的工件。