当前位置: 首页 > 知识库问答 >
问题:

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

郭均
2023-03-14

我从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

共有3个答案

蓝苗宣
2023-03-14
RUN /bin/sh -c "apk add --no-cache bash"

为我工作。

沈博延
2023-03-14

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

范福
2023-03-14

默认情况下,Alpine docker映像没有安装bash。您需要添加以下命令才能获取bash

RUN apk update && apk add bash

如果您正在使用阿尔卑斯山3.3,那么您可以这样做:

RUN apk add --no-cache bash

以保持docker图像的小尺寸。(感谢@sprkysnrky的评论)

 类似资料:
  • 问题内容: 我从openjdk:8-jdk-alpine创建了一个docker镜像,但是当我尝试执行简单的命令时出现以下错误: 问题答案: 默认情况下,高山docker映像未安装bash。您将需要添加以下命令来获取: 如果您使用,那么您可以 保持docker映像大小较小。(感谢@sprkysnrky的评论)

  • 我正在使用Selenium从Java代码进行测试,它是用maven自动启动的,当我运行时,它使用为Selenium启动新的实例: 它在我的机器上(和其他开发人员的机器上)在“无头”和正常两种模式下都运行良好。现在我试图运行硒测试与CI构建在阿尔卑斯LinuxDocker容器。当我试图按原样运行它时,我有一个错误: mozrunder::转轮INFO运行命令:"/usr/bin/Firefox""-

  • 如何强制testcontainers使用本地映像?

  • 问题内容: 我正在使用 一个简单的docker-compose脚本。 我使用运行该脚本。这将创建我的2个容器,但仅在我的主容器上(从此处执行命令)创建容器。我希望在主机上创建一个,在节点上创建一个。我也尝试添加 和 每次服务后,但这都失败了: 当我执行网络创建时 有人可以通过docker- compose帮助我在2个节点上部署2个容器。Swarm正在为我的“集群”工作。我按照本教程进行了验证。 问

  • 高山码头工人形象和忙碌的码头工人形象有什么区别? 当我检查他们的DockFile时,alpine是这样的(对于alpine v3.12-3.12.7) busybox是这样的 但作为https://alpinelinux.org/about/说 Alpine Linux是围绕musl libc和busybox构建的。 那么到底有什么区别呢? 我也很好奇,许多docker图像(nodejs/ngin

  • 这是我得到的错误消息