Bash Docker 镜像
Bash是GNU计划开发的Bourne Again Shell(即“重生的Bourne Shell”),作为Unix及类Unix系统中的命令行解释器,它不仅替代了传统的Bourne Shell(sh),还通过增强命令行编辑、脚本编程、环境变量管理等功能,成为众多Linux发行版和macOS的默认shell,广泛应用于系统管理、自动化任务和软件开发等领域,是用户与操作系统交互的重要工具。
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 版本测试脚本兼容性。以下是具体使用方法。
注意事项
-
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仍会优先调用镜像自带版本。 -
依赖说明:镜像仅包含 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 打包脚本,构建后运行:
dockerfileFROM 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/ 目录] 查看。
使用前请确保遵守镜像中所有软件的许可证要求。
镜像拉取方式
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
DockerHub 原生拉取命令
用户好评
来自真实用户的反馈,见证轩辕镜像的优质服务