Bash是GNU计划开发的Bourne Again Shell(即“重生的Bourne Shell”),作为Unix及类Unix系统中的命令行解释器,它不仅替代了传统的Bourne Shell(sh),还通过增强命令行编辑、脚本编程、环境变量管理等功能,成为众多Linux发行版和macOS的默认shell,广泛应用于系统管理、自动化任务和软件开发等领域,是用户与操作系统交互的重要工具。

763 次收藏下载次数: 0状态:Docker 官方镜像维护者:Docker 官方镜像仓库类型:镜像最近更新:
下载命令
点击查看

Bash Docker 镜像使用指南

快速参考

维护者

由 Docker 社区成员 [Tianon] 维护,Bash 上游开发者 [Chet] 提供支持。

获取帮助

可通过以下渠道寻求帮助:

  • [Docker 社区 Slack]
  • [Server Fault]
  • [Unix & Linux 论坛]
  • [Stack Overflow]

支持的标签及对应 Dockerfile 链接

以下是各版本 Bash 镜像的标签,括号内为对应 Dockerfile 的 GitHub 链接:

  • devel-20251006、devel、devel-20251006-alpine3.22、devel-alpine3.22([链接] )

  • 5.3.3、5.3、5、latest、5.3.3-alpine3.22、5.3-alpine3.22、5-alpine3.22、alpine3.22([链接] )

  • 5.2.37、5.2、5.2.37-alpine3.22、5.2-alpine3.22([链接] )

  • 5.1.16、5.1、5.1.16-alpine3.22、5.1-alpine3.22([链接] )

  • 5.0.18、5.0、5.0.18-alpine3.22、5.0-alpine3.22([链接] )

  • 4.4.23、4.4、4、4.4.23-alpine3.22、4.4-alpine3.22、4-alpine3.22([链接] )

  • 4.3.48、4.3、4.3.48-alpine3.22、4.3-alpine3.22([链接] )

  • 4.2.53、4.2、4.2.53-alpine3.22、4.2-alpine3.22([链接] )

  • 4.1.17、4.1、4.1.17-alpine3.22、4.1-alpine3.22([链接] )

  • 4.0.44、4.0、4.0.44-alpine3.22、4.0-alpine3.22([链接] )

  • 3.2.57、3.2、3、3.2.57-alpine3.22、3.2-alpine3.22、3-alpine3.22([链接] )

  • 3.1.23、3.1、3.1.23-alpine3.22、3.1-alpine3.22([链接] )

  • 3.0.22、3.0、3.0.22-alpine3.22、3.0-alpine3.22([链接] )

快速参考(续)

问题反馈

若遇到问题,可在 [GitHub 仓库 issue 页] 提交。

支持的架构

(更多信息见 [官方说明] )

  • amd64([链接] )
  • arm32v6([链接] )
  • arm32v7([链接] )
  • arm64v8([链接] )
  • i386([链接] )
  • ppc64le([链接] )
  • riscv64([链接] )
  • s390x([链接] )

镜像详情

镜像元数据、传输大小等信息可在 [repo-info 仓库的 repos/bash/ 目录] ([历史记录] )查看。

镜像更新

镜像更新记录可通过以下途径获取:

  • [official-images 仓库的 library/bash 标签]
  • [official-images 仓库的 library/bash 文件] ([历史记录] )

描述来源

本文档内容来源于 [docs 仓库的 bash/ 目录] ([历史记录] )。

Bash 简介

Bash 是 GNU 项目的 Bourne Again SHell,完全实现了 IEEE POSIX 和开放群组的 shell 规范,支持交互式命令行编辑、架构兼容的作业控制、csh 风格的历史替换与花括号扩展等功能。

更多信息见 [官方网站]

如何使用此镜像

该镜像主要用于两个场景:在系统包更新前测试新版本 Bash 特性,或针对不同 Bash 版本测试脚本兼容性。以下是具体使用方法。

注意事项

  1. Bash 安装路径:Bash 安装在 /usr/local/bin/bash,而非 /bin/bash。推荐脚本使用 #!/usr/bin/env bash 作为 shebang,或显式通过 bash /路径/脚本.sh 运行(避免依赖 /bin/bash)。若通过镜像内包管理器安装 Bash,可能会生成 /bin/bash,但 /usr/local/bin 在 $PATH 中优先级更高,使用 bash 或 /usr/bin/env bash 仍会优先调用镜像自带版本。

  2. 依赖说明:镜像仅包含 Bash,若脚本依赖外部工具(如 jq),需手动安装(例如 apk add --no-cache jq)。

交互式 Shell

直接运行镜像即可启动交互式 Bash shell:

console
$ docker run -it --rm bash:4.4
bash-4.4# which bash
/usr/local/bin/bash
bash-4.4# echo $BASH_VERSION
4.4.0(1)-release

通过绑定挂载测试脚本

将本地脚本挂载到容器中运行,测试不同 Bash 版本兼容性:

console
# 测试 4.4 版本
$ docker run -it --rm -v /本地路径/脚本.sh:/脚本.sh:ro bash:4.4 bash /脚本.sh

# 测试 3.2 版本
$ docker run -it --rm -v /本地路径/脚本.sh:/脚本.sh:ro bash:3.2 bash /脚本.sh

通过 Dockerfile 测试脚本

编写 Dockerfile 打包脚本,构建后运行:

dockerfile
FROM docker.xuanyuan.run/bash:4.4

COPY 脚本.sh /

CMD ["bash", "/脚本.sh"]

构建并运行:

console
$ docker build -t 我的bash应用 .
$ docker run -it --rm --name 运行中的应用 我的bash应用

许可证

Bash 是自由软件,基于 [GNU 通用公共许可证第 3 版] 分发。

与所有 Docker 镜像一样,本镜像可能包含其他软件(如基础系统组件及依赖),这些软件可能采用不同许可证。部分自动检测的许可证信息可在 [repo-info 仓库的 bash/ 目录] 查看。

使用前请确保遵守镜像中所有软件的许可证要求。

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 bash 镜像标签

docker pull docker.xuanyuan.run/bash:<标签>

DockerHub 原生拉取命令

docker pull bash:<标签>
专业版 · 高速稳定拉取镜像
50GB 仅 ¥8/年
高速镜像下载在线技术支持专业版保障服务可用付费会员免广告