gpt4 book ai didi

docker - Dockerfile:带有特殊参数的RUN命令

转载 作者:行者123 更新时间:2023-12-02 18:47:09 25 4
gpt4 key购买 nike

我想在Dockerfile中使用$ _等特殊参数运行bash命令。
我尝试了以下示例,但似乎无法正常工作。如果我直接在bash中执行相同的命令,它的工作原理就像一个 super 按钮。有人知道我在做什么错吗?

$ RUN mkdir /foo && cd $_ && pwd

最佳答案

它取决于基本容器中的 shell 。例如,ubuntu使用破折号,将默认shell更改为bash有助于获得您期望的结果:

FROM ubuntu
RUN rm /bin/sh && ln -s /bin/bash /bin/sh
RUN mkdir /foo && cd $_ && pwd

结果:
docker build --rm .
Sending build context to Docker daemon 2.048 kB
Sending build context to Docker daemon
Step 0 : FROM ubuntu
---> d0955f21bf24
Step 1 : RUN rm /bin/sh && ln -s /bin/bash /bin/sh
---> Using cache
---> c90ef9fd9710
Step 2 : RUN mkdir /foo && cd $_ && pwd
---> Running in 8e1d943a6b60
/foo
---> 1871918ee02c
Removing intermediate container 8e1d943a6b60
Successfully built 1871918ee02c

关于docker - Dockerfile:带有特殊参数的RUN命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30302572/

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