【发布时间】:2021-12-19 22:02:16
【问题描述】:
假设我有一个运行脚本的Dockerfile,
RUN ./myscript.sh
我如何编写myscript.sh 以便它可以检测自己是否在docker build 期间由RUN 命令启动?
#! /bin/bash
# myscript.sh
if <What should I do here?>
then
echo "I am in a docker build"
else
echo "I am not in a docker build"
fi
理想情况下,它不应该要求对Dockerfile 进行任何更改,因此myscript.sh 的调用者不需要有关myscript.sh 的专业知识。
【问题讨论】:
-
可能在调用脚本可以检测到的脚本之前添加特定的资源,或者使用参数调用脚本。否则我不确定这很容易
-
如果您确定自己处于映像构建中,您会采取哪些不同的做法?为什么不能更改 Dockerfile?
-
例如,您正在维护一个可用于
docker build或物理机的安装脚本,并且您希望在安装脚本中包含一些特定于 docker 的优化。
标签: linux bash docker shell dockerfile