在从bullseye-slim切换到bookworm-slim Docker镜像后,我遇到了env: can't execute 'node': No such file or directory错误,看起来是COPY --from=1234567890.dkr.ecr.us-west-2.amazonaws.com/sonarqube:latest / /导致的.

Here is what I see on the container:

~ # ls -l /usr/local/bin/node
-rwxr-xr-x    1 root     root      92350992 Oct 13 14:02 /usr/local/bin/node
~ # /usr/local/bin/node
sh: /usr/local/bin/node: not found

文件在那里,但无法执行,因为找不到它

My Dockerfile:

FROM node:18-bookworm-slim as base

WORKDIR /usr/src
EXPOSE 8080

COPY .npmrc /usr/src/
COPY package*.json /usr/src/

# --------------> The develop image
FROM base as develop

ENV NODE_ENV=development

RUN npm ci
COPY . /usr/src/

# --------------
FROM develop as develop_sonarqube

COPY --from=1234567890.dkr.ecr.us-west-2.amazonaws.com/sonarqube:latest / /

# --------------
FROM base as dependencies
RUN ...

如果我以develop_sonarqube阶段为目标构建它(这是复制的地方),当用docker run --rm foo:baz npm run format调用时,我会得到sh: /usr/local/bin/node: not found错误

但如果我以develop为目标并运行它,则不会出现错误:

> foo@0.0.1 format
> prettier --check .

Checking formatting...
[warn] package-lock.json
[warn] package.json
[warn] Code style issues found in 2 files. Run Prettier to fix.

所以它看起来像是COPY --from=1234567890.dkr.ecr.us-west-2.amazonaws.com/sonarqube:latest / /是罪魁祸首,但它只发生在bookworm-slim基础图像上,这意味着如果我把它改回bullseye-slim,它就会起作用.

有什么办法修好它吗?

Debug info:

# ldd /usr/local/bin/node
    /lib64/ld-linux-x86-64.so.2 (0x7f000494b000)
    libdl.so.2 => /lib64/ld-linux-x86-64.so.2 (0x7f000494b000)
Error loading shared library libstdc++.so.6: No such file or directory (needed by /usr/local/bin/node)
    libm.so.6 => /lib64/ld-linux-x86-64.so.2 (0x7f000494b000)
Error loading shared library libgcc_s.so.1: No such file or directory (needed by /usr/local/bin/node)
    libpthread.so.0 => /lib64/ld-linux-x86-64.so.2 (0x7f000494b000)
    libc.so.6 => /lib64/ld-linux-x86-64.so.2 (0x7f000494b000)
Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /usr/local/bin/node)
Error relocating /usr/local/bin/node: _ZSt7getlineIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EES4_: symbol not found
Error relocating /usr/local/bin/node: _ZNSt15basic_streambufIcSt11char_traitsIcEE9pbackfailEi: symbol not found
Error relocating /usr/local/bin/node: _ZSt24__throw_out_of_range_fmtPKcz: symbol not found
Error relocating /usr/local/bin/node: _ZSt19__throw_logic_errorPKc: symbol not found
Error relocating /usr/local/bin/node: __once_proxy: symbol not found
Error relocating /usr/local/bin/node: _ZSt17__throw_bad_allocv: symbol not found
Error relocating /usr/local/bin/node: _ZNSt15basic_streambufIcSt11char_traitsIcEE6xsgetnEPcl: symbol not found
Error relocating /usr/local/bin/node: _ZNSo9_M_insertIyEERSoT_: symbol not found
Error relocating /usr/local/bin/node: _ZdlPvm: symbol not found
Error relocating /usr/local/bin/node: _ZNSt6locale7classicEv: symbol not found
Error relocating /usr/local/bin/node: _Znwm: symbol not found
Error relocating /usr/local/bin/node: fcntl64: symbol not found
Error relocating /usr/local/bin/node: _ZNSt10_Sp_lockerC1EPKv: symbol not found
Error relocating /usr/local/bin/node: _ZNSt15basic_streambufIcSt11char_traitsIcEE5imbueERKSt6locale: symbol not found
Error relocating /usr/local/bin/node: _ZNSo5tellpEv: symbol not found
Error relocating /usr/local/bin/node: _ZNSt13basic_filebufIcSt11char_traitsIcEE5closeEv: symbol not found
Error relocating /usr/local/bin/node: _ZNSt8__detail15_List_node_base7_M_hookEPS0_: symbol not found
Error relocating /usr/local/bin/node: gnu_get_libc_version: symbol not found
Error relocating /usr/local/bin/node: __cxa_demangle: symbol not found
Error relocating /usr/local/bin/node: _ZNSt9basic_iosIcSt11char_traitsIcEE7copyfmtERKS2_: symbol not found
Error relocating /usr/local/bin/node: _ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE7_M_syncEPcmm: symbol not found
Error relocating /usr/local/bin/node: _ZNSolsEi: symbol not found
Error relocating /usr/local/bin/node: _ZSt16__throw_bad_castv: symbol not found
Error relocating /usr/local/bin/node: __cxa_guard_acquire: symbol not found
Error relocating /usr/local/bin/node: _ZNSt9basic_iosIcSt11char_traitsIcEE4initEPSt15basic_streambufIcS1_E: symbol not found
Error relocating /usr/local/bin/node: _ZdaPv: symbol not found
Error relocating /usr/local/bin/node: _ZNSo9_M_insertIlEERSoT_: symbol not found
Error relocating /usr/local/bin/node: _ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEED1Ev: symbol not found
Error relocating /usr/local/bin/node: _ZNKSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE3strEv: symbol not found
Error relocating /usr/local/bin/node: backtrace_symbols: symbol not found
Error relocating /usr/local/bin/node: _ZNSo9_M_insertIbEERSoT_: symbol not found
Error relocating /usr/local/bin/node: _ZSt20__throw_system_errori: symbol not found
Error relocating /usr/local/bin/node: _ZSt9use_facetISt5ctypeIcEERKT_RKSt6locale: symbol not found
Error relocating /usr/local/bin/node: _ZStrsIcSt11char_traitsIcESaIcEERSt13basic_istreamIT_T0_ES7_RNSt7__cxx1112basic_stringIS4_S5_T1_EE: symbol not found
Error relocating /usr/local/bin/node: _ZNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode: symbol not found
Error relocating /usr/local/bin/node: _Znam: symbol not found
Error relocating /usr/local/bin/node: _ZNSo9_M_insertIPKvEERSoT_: symbol not found
Error relocating /usr/local/bin/node: _ZSt11_Hash_bytesPKvmm: symbol not found
Error relocating /usr/local/bin/node: _ZNKSt5ctypeIcE13_M_widen_initEv: symbol not found
Error relocating /usr/local/bin/node: _ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base: symbol not found
Error relocating /usr/local/bin/node: _ZNSo5writeEPKcl: symbol not found
Error relocating /usr/local/bin/node: _ZNSo5flushEv: symbol not found
Error relocating /usr/local/bin/node: _ZNSt8__detail15_List_node_base11_M_transferEPS0_S1_: symbol not found
Error relocating /usr/local/bin/node: _ZNSo9_M_insertImEERSoT_: symbol not found
Error relocating /usr/local/bin/node: _ZNSolsEs: symbol not found
Error relocating /usr/local/bin/node: _ZNSt12__basic_fileIcED1Ev: symbol not found
Error relocating /usr/local/bin/node: _ZNSt9basic_iosIcSt11char_traitsIcEE5imbueERKSt6locale: symbol not found
Error relocating /usr/local/bin/node: _ZdlPv: symbol not found
Error relocating /usr/local/bin/node: _ZNSo3putEc: symbol not found
Error relocating /usr/local/bin/node: _ZNSt15basic_streambufIcSt11char_traitsIcEE7seekoffElSt12_Ios_SeekdirSt13_Ios_Openmode: symbol not found
Error relocating /usr/local/bin/node: __cxa_guard_release: symbol not found
Error relocating /usr/local/bin/node: _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc: symbol not found
Error relocating /usr/local/bin/node: _ZNSt15basic_streambufIcSt11char_traitsIcEE7seekposESt4fposI11__mbstate_tESt13_Ios_Openmode: symbol not found
Error relocating /usr/local/bin/node: _ZNSi10_M_extractIdEERSiRT_: symbol not found
Error relocating /usr/local/bin/node: _ZSt20__throw_length_errorPKc: symbol not found
Error relocating /usr/local/bin/node: _ZSt20__throw_out_of_rangePKc: symbol not found
Error relocating /usr/local/bin/node: __popcountdi2: symbol not found
Error relocating /usr/local/bin/node: _ZNSt8ios_base4InitD1Ev: symbol not found
Error relocating /usr/local/bin/node: _ZNSt9basic_iosIcSt11char_traitsIcEE5rdbufEPSt15basic_streambufIcS1_E: symbol not found
Error relocating /usr/local/bin/node: __register_atfork: symbol not found
Error relocating /usr/local/bin/node: _ZNSt15basic_streambufIcSt11char_traitsIcEE9showmanycEv: symbol not found
Error relocating /usr/local/bin/node: _ZNSt18condition_variableD1Ev: symbol not found
Error relocating /usr/local/bin/node: _ZNSt8ios_baseD2Ev: symbol not found
Error relocating /usr/local/bin/node: _ZNKSt8__detail20_Prime_rehash_policy11_M_next_bktEm: symbol not found
Error relocating /usr/local/bin/node: _ZNSo9_M_insertIdEERSoT_: symbol not found
Error relocating /usr/local/bin/node: _ZNSt6localeC1Ev: symbol not found
Error relocating /usr/local/bin/node: _ZNSt10_Sp_lockerD1Ev: symbol not found
Error relocating /usr/local/bin/node: _ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKcl: symbol not found
Error relocating /usr/local/bin/node: _ZNSt13basic_filebufIcSt11char_traitsIcEEC1Ev: symbol not found
Error relocating /usr/local/bin/node: _ZNSt18condition_variableC1Ev: symbol not found
Error relocating /usr/local/bin/node: _ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_: symbol not found
Error relocating /usr/local/bin/node: _ZNSo5seekpElSt12_Ios_Seekdir: symbol not found
Error relocating /usr/local/bin/node: _ZNSt15basic_streambufIcSt11char_traitsIcEE9underflowEv: symbol not found
Error relocating /usr/local/bin/node: _ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base: symbol not found
Error relocating /usr/local/bin/node: setcontext: symbol not found
Error relocating /usr/local/bin/node: __cxa_pure_virtual: symbol not found
Error relocating /usr/local/bin/node: _ZNSt18condition_variable10notify_allEv: symbol not found
Error relocating /usr/local/bin/node: _ZNSt8__detail15_List_node_base9_M_unhookEv: symbol not found
Error relocating /usr/local/bin/node: __dynamic_cast: symbol not found
Error relocating /usr/local/bin/node: _ZNSt13basic_filebufIcSt11char_traitsIcEE4openEPKcSt13_Ios_Openmode: symbol not found
Error relocating /usr/local/bin/node: _ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base: symbol not found
Error relocating /usr/local/bin/node: _ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l: symbol not found
Error relocating /usr/local/bin/node: _ZNSt8ios_baseC2Ev: symbol not found
Error relocating /usr/local/bin/node: _ZNSt6localeD1Ev: symbol not found
Error relocating /usr/local/bin/node: _ZNKSt8__detail20_Prime_rehash_policy14_M_need_rehashEmmm: symbol not found
Error relocating /usr/local/bin/node: _ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_: symbol not found
Error relocating /usr/local/bin/node: _ZNSt8ios_base4InitC1Ev: symbol not found
Error relocating /usr/local/bin/node: _ZNSt18condition_variable4waitERSt11unique_lockISt5mutexE: symbol not found
Error relocating /usr/local/bin/node: _ZNKSt12__basic_fileIcE7is_openEv: symbol not found
Error relocating /usr/local/bin/node: _ZnwmRKSt9nothrow_t: symbol not found
Error relocating /usr/local/bin/node: makecontext: symbol not found
Error relocating /usr/local/bin/node: _ZNSt15basic_streambufIcSt11char_traitsIcEE5uflowEv: symbol not found
Error relocating /usr/local/bin/node: _ZNKSt9basic_iosIcSt11char_traitsIcEE5widenEc: symbol not found
Error relocating /usr/local/bin/node: _ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base: symbol not found
Error relocating /usr/local/bin/node: _ZnamRKSt9nothrow_t: symbol not found
Error relocating /usr/local/bin/node: _ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_: symbol not found
Error relocating /usr/local/bin/node: _ZdlPvRKSt9nothrow_t: symbol not found
Error relocating /usr/local/bin/node: _ZSt25__throw_bad_function_callv: symbol not found
Error relocating /usr/local/bin/node: _ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate: symbol not found
Error relocating /usr/local/bin/node: _ZNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEC1ESt13_Ios_Openmode: symbol not found
Error relocating /usr/local/bin/node: backtrace: symbol not found
Error relocating /usr/local/bin/node: getcontext: symbol not found
Error relocating /usr/local/bin/node: _ZNSt15basic_streambufIcSt11char_traitsIcEE6setbufEPcl: symbol not found
Error relocating /usr/local/bin/node: _ZNSo9_M_insertIxEERSoT_: symbol not found
Error relocating /usr/local/bin/node: _ZSt11__once_call: symbol not found
Error relocating /usr/local/bin/node: _ZSt15__once_callable: symbol not found
Error relocating /usr/local/bin/node: _ZSt7nothrow: symbol not found
Error relocating /usr/local/bin/node: _ZTVN10__cxxabiv121__vmi_class_type_infoE: symbol not found
Error relocating /usr/local/bin/node: _ZTVNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEE: symbol not found
Error relocating /usr/local/bin/node: _ZTTSt14basic_ofstreamIcSt11char_traitsIcEE: symbol not found
Error relocating /usr/local/bin/node: _ZTVN10__cxxabiv117__class_type_infoE: symbol not found
Error relocating /usr/local/bin/node: _ZTVNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE: symbol not found
Error relocating /usr/local/bin/node: _ZTVSt14basic_ifstreamIcSt11char_traitsIcEE: symbol not found
Error relocating /usr/local/bin/node: _ZTVNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEE: symbol not found
Error relocating /usr/local/bin/node: _ZTVNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE: symbol not found
Error relocating /usr/local/bin/node: _ZTTNSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEEE: symbol not found
Error relocating /usr/local/bin/node: _ZTVN10__cxxabiv120__si_class_type_infoE: symbol not found
Error relocating /usr/local/bin/node: _ZTVSt15basic_streambufIcSt11char_traitsIcEE: symbol not found
Error relocating /usr/local/bin/node: _ZTTNSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEEE: symbol not found
Error relocating /usr/local/bin/node: _ZTVSt14basic_ofstreamIcSt11char_traitsIcEE: symbol not found
Error relocating /usr/local/bin/node: _ZTTSt14basic_ifstreamIcSt11char_traitsIcEE: symbol not found
Error relocating /usr/local/bin/node: __libc_stack_end: symbol not found
Error relocating /usr/local/bin/node: _ZTVSt9basic_iosIcSt11char_traitsIcEE: symbol not found
Error relocating /usr/local/bin/node: _ZTTNSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEEE: symbol not found
Error relocating /usr/local/bin/node: _ZTVSt13basic_filebufIcSt11char_traitsIcEE: symbol not found
Error relocating /usr/local/bin/node: _ZSt4cout: symbol not found
Error relocating /usr/local/bin/node: _ZSt4cerr: symbol not found

推荐答案

感谢您将ldd的yields 包括在内.它会清楚地告诉你哪里出了问题./usr/local/bin/node二进制文件依赖于目标系统中缺少的共享库.

https://packages.debian.org/允许您搜索文件名(向下滚动到底部附近的"搜索包内容");通常,在查找共享库时,您希望跳过搜索.so之后的所有内容.

搜索结果(链接如下)有点吓人.你想忽略所有的交叉编译的东西;我的钱会在下面的列表中,但理想情况下,你得到的二进制文件的人应该能够提供权威的信息.

如果您解决了这两个问题,可能会有额外的下游问题,因此您可能会得到新的错误,然后需要迭代该错误.

Node.js相关问答推荐

可以删除一个mongodb catch块

如何在Mongoose中调用动态Collection ?

如何使用Nextjs路由从下一步/导航在新选项卡中通过";router.ush";打开链接

类扩展值[object object]不是构造函数或null

尽管 tsconfig 中提供了正确的路径,但仍出现找不到模块错误

dayjs的isSameOrAfter方法未按预期工作

如何使用 NodeJS 加密模块将 ECDH 密钥转换为 PEM 格式

无法使用 node 预签名 url 从 React 将图像文件上传到 s3

fastify:流过早关闭

aws cdk 2.0 init 应用程序无法构建更漂亮的问题,这来自 jest-snapshot

如何在 TypeScript 中输出 Hackerrank 二叉树问题?

fs.writefile 选项参数的可能值,尤其是只读文件的整数

baseurl64 缓冲区解码

在多个 .env 文件之间切换,例如 .env.development 和 node.js

TypeError:winston.Logger 不是带有winston 和morgan 的构造函数

具有多个条件的mongoose 查找

为什么我们要为 Angular 2.0 安装 Node.js?

如何创建安全(TLS/SSL)Websocket 服务器

Npm postinstall 仅用于开发

如何阻止 babel 将this转换为undefined(并插入use strict)