【发布时间】:2018-05-13 18:45:20
【问题描述】:
在 Dockerfiles 中,我已经习惯了看到这种模式(Docker's best practices 中也有说明):
RUN apt-get update \
&& apt-get install -y curl \
&& rm -rf /var/lib/apt/lists/*
最近,我经常遇到这样的模式:
RUN set -ex; \
apt-get update; \
apt-get install -y curl; \
rm -rf /var/lib/apt/lists/*
我想知道有什么区别。我试过这个:
$ (echo one; exit 0) && (echo two; exit 0)
one
two
$ (echo one; exit 1) && (echo two; exit 0)
one
$ (echo one; exit 1) ; (echo two; exit 0)
one
two
$ set -ex; (echo one; exit 1) ; (echo two; exit 0)
:bomb: boots me from the session :)
所以似乎有区别,但我不确定它是什么以及它在 Dockerfiles 的上下文中是否重要。
相关(但没有真正回答这个问题):
【问题讨论】:
标签: bash docker dockerfile