我是 Docker 新手。我发现我们可以使用 Dockerfile 中的 ENV 指令来设置环境变量。但是如何为 Dockerfile 中的长命令设置 Bash 别名呢?
最佳答案
基本上像往常一样,将其添加到用户的.bashrc
文件:
FROM foo
RUN echo 'alias hi="echo hello"' >> ~/.bashrc
像往常一样,这仅适用于交互式 shell:
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
对于非交互式 shell,您应该创建一个小脚本并将其放在您的路径中,即:
RUN echo -e '#!/bin/bash\necho hello' > /usr/bin/hi && \
chmod +x /usr/bin/hi
如果您的别名使用参数(即。hi Jim
-> hello Jim
),只需添加 "$@"
:
RUN echo -e '#!/bin/bash\necho hello "$@"' > /usr/bin/hi && \
chmod +x /usr/bin/hi
关于bash - 如何在 Dockerfile 中为 docker 容器设置 Bash 别名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36388465/