Docker:如何将 bash 与基于 Alpine 的 docker 映像一起使用?

新手上路,请多包涵

我从 openjdk:8-jdk-alpine 创建了一个 docker 映像,但是当我尝试执行简单命令时,出现以下错误:

 RUN bash
/bin/sh: bash: not found

RUN ./gradlew build
env: can't execute 'bash': No such file or directory

原文由 iamdeit 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.4k
2 个回答

Alpine docker 镜像默认没有安装 bash。您需要添加以下命令来获取 bash

 RUN apk update && apk add bash

如果您使用 Alpine 3.3+ 那么您可以这样做:

 RUN apk add --no-cache bash

保持泊坞窗图像尺寸小。 (感谢@sprkysnrky 的评论)

如果您只想连接到容器而不需要 bash,则可以使用:

 docker run --rm -i -t alpine /bin/sh --login

原文由 anubhava 发布,翻译遵循 CC BY-SA 4.0 许可协议

尝试使用 RUN /bin/sh 而不是 bash。

原文由 Yuva 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题