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

Docker找不到模块/bin/bash

鱼宜
2023-03-14

我正在尝试为nodejs web后端构建一个docker映像,当前的外观如下:

FROM node:10-alpine

WORKDIR /usr/src/smart-brain-api

COPY ./ ./

RUN npm install

CMD ["/bin/bash"]

当我在构建图像后运行docker-it时,我会遇到一个奇怪的错误

internal/modules/cjs/loader.js:638
    throw err;
    ^

Error: Cannot find module '/bin/bash'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
    at Function.Module._load (internal/modules/cjs/loader.js:562:25)
    at Function.Module.runMain (internal/modules/cjs/loader.js:831:12)
    at startup (internal/bootstrap/node.js:283:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:623:3)

但是,如果我编辑docker文件并将CMD[“/bin/bash”]更改为CMD[“/bin/sh”],一切正常

我正在开发一款macbook air 13,我不知道这是否是一个因素。

共有3个答案

武嘉祥
2023-03-14

您可以在工作容器中尝试一个bash,但此容器映像中很可能没有Bash。

试着使用一个不那么纤细的图像。

赵永新
2023-03-14

就像另一个答案所说的,你需要先安装bash,因为阿尔卑斯山没有安装bash。你需要安装它与:

RUN apk update && apk add bash

然后,您可以使用dockerfile中的这一行将默认shell从sh切换到bash

SHELL ["/bin/bash", "-c"]

dockerfile应该是这样的

FROM node:10-alpine
RUN apk update && apk add bash
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
CMD bash # If you want to override CMD

然后你可以用这条线启动你的容器

docker run -it --rm <image-name> bash

或者如果你已经覆盖了CMD,你可以简单地

docker run -it --rm <image-name>
阎彬炳
2023-03-14

alpine图像没有现成安装的bash。您需要单独安装它。

RUN apk update && apk add bash

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

 类似资料:
  • 我安装了webpack@3.10.0版本,但后来又重新安装了2.3.0(我想这会有帮助....) 提前感谢您的回答;)

  • 问题内容: 我正在使用以下命令构建新的Docker映像: 但是,它失败并显示以下错误: 这似乎在我的本地计算机(Mac OSX)上运行良好,但是当我尝试在Linux CentOS 7计算机上构建它时,它失败了。 问题答案: 最后,我们升级了项目以使用此Docker Maven插件:https : //github.com/fabric8io/fabric8-maven- plugin 。到目前为止

  • 运行。以下是错误日志:

  • 问题内容: 我最近在计算机上安装了cx_Oracle模块,以连接到远程Oracle数据库服务器。(我身边没有Oracle客户端)。 Python:2.7 x86版 Oracle:版本11.1.X x64 Cx_Oracle:版本5.1.2-11g.win32-py2.7 然后,每次我运行脚本时,脚本都会失败并显示以下消息: ImportError:DLL加载失败:找不到指定的模块。 我想知道是否我

  • 问题内容: 我收到错误,无法在Node.js应用程序中找到模块“ bcrypt” 我尝试使用 npm install bcrypt 安装它, 但仍然出现问题。 错误信息: 问题答案: 使用命令无法为我解决问题。 我尝试了以下命令,但问题解决了。

  • 问题内容: 我是Python的初学者。在开始之前,这是我的Python文件夹结构 在下面,我有一个名为的文件夹,其中有一个Python文件,其内容如下: 接下来,我位于文件夹中,位于上一级: 每当我运行它都会导致错误 我有什么想念的吗? 问题答案: Python中的所有模块都必须具有特定的目录结构。您可以在此处找到详细信息。 在目录下创建一个空文件,使您的目录结构如下所示: 同样在文件中,将imp