gpt4 book ai didi

docker - 在一个dockerfile中,我们可以将多个RUN命令合并为一个RUN命令吗?

转载 作者:行者123 更新时间:2023-12-02 20:43:17 24 4
gpt4 key购买 nike

我知道每个RUN命令都会创建一个图层。假设我有以下RUN命令:

RUN python -m pip install --upgrade pip
RUN python -m pip install --upgrade setuptools
RUN pip install -r requirements.txt

我希望在一个运行命令中运行所有命令。下面可以使用吗?
RUN python -m pip install --upgrade pip; python -m pip install --upgrade setuptools; pip install -r requirements.txt 

如果使用以下命令,则会给我一个错误“ token '&&'在此版本中不是有效的语句分隔符。”:
RUN python -m pip install --upgrade pip && python -m pip install --upgrade setuptools && pip install -r requirements.txt

最佳答案

是的,您可以,这是一个很好的做法

而不是这样做

RUN python -m pip install --upgrade pip
RUN python -m pip install --upgrade setuptools
RUN pip install -r requirements.txt

试试这个
RUN python -m pip install --upgrade pip &&\
python -m pip install --upgrade setuptools &&\
pip install -r requirements.txt

这种方法的优点

Dockerfile中的每条指令都会在Docker镜像中添加一个额外的层
指令和层的数量应保持最少,因为这最终会影响构建性能和时间

关于docker - 在一个dockerfile中,我们可以将多个RUN命令合并为一个RUN命令吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59817636/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com