我是Docker的新手。我发现我们可以使用Dockerfile中的ENV指令设置环境变量。但是,如何在Dockerfile中为长命令设置bash别名?
基本上就像您经常做的那样,将其添加到用户的.bashrc:
.bashrc
FROM foo RUN echo 'alias hi="echo hello"' >> ~/.bashrc
和往常一样,这仅适用于交互式外壳:
docker build -t test . docker run -it --rm --entrypoint /bin/bash test hi /bin/bash: hi: No such file or directory docker run -it --rm test bash $ hi hello
对于非交互式外壳,您应该创建一个小脚本并将其放在路径中,即:
RUN echo -e '#!/bin/bash\necho hello' > /usr/bin/hi && \ chmod +x /usr/bin/hi
如果您的别名使用参数(即hi Jim-> hello Jim),则只需添加"$@":
hi Jim
hello Jim
"$@"
RUN echo -e '#!/bin/bash\necho hello "$@"' > /usr/bin/hi && \ chmod +x /usr/bin/hi