bash - 如何在 Dockerfile 中为 docker 容器设置 Bash 别名?

标签 bash unix docker alias dockerfile

我是 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/

相关文章:

python - 如何通过 Bash 脚本将模型查询传输到 Django Shell?

linux - 在 bash 中打印 fifo 的内容

linux - Unix 如果为空则跳过第一行

linux - 检查脚本中的差异退出状态

bash - 并发 curl POST 请求

ruby-on-rails - 将 gitlab ci 与 docker compose 结合使用使我留下了容器生成的文件夹 gitlab 无法删除

python - 在我的情况下如何在Docker中启动容器

bash - Unix 管道和位置参数

linux - 使用 Rsync 过滤器包含/排除文件

docker - 如何在 Raspberry Pi 上的 docker 镜像上增加/dev/root 的大小