簡體   English   中英

sh 無法運行可執行文件

[英]sh can't run executable

我試圖在 alpine 的 docker 容器中運行可執行文件:

/usr/src/server # ls -l
total 57472
-rw-r--r--    1 root     root           166 Dec 29 12:22 Dockerfile
-rwxr-xr-x    1 root     root      58844530 Dec 29 12:35 server
/usr/src/server # ./server
/bin/sh: ./server: not found

嘗試運行容器時,它給了我file not found的錯誤,我錯過了什么?

Dockerfile

FROM alpine:3.12.3

# Create server directory
WORKDIR /usr/src/server

# Bundle server Source
COPY . .

# Expose Port and Start Server
EXPOSE 3000
CMD [ "./server" ]

構建 Dockerfile(使用 buildkit)

FROM node:14 AS build-stage

# Create server directory
WORKDIR /usr/src/server 

# Install Nexe
RUN npm i nexe@3.3.7 -g

# Install Server Dependencies
COPY package*.json ./
RUN npm install --only=production

# Bundle server Source
COPY . .

# Build
RUN nexe app.js -r config/db.js -r config/email.js -r config/passport.js -r config/config.env \
                -r middleware/auth.js \
                -r models/Option.js -r models/Token.js -r models/User.js -r models/Votacao.js -r models/Voto.js \
                -r routes/auth.js -r routes/votacao.js \
                -t linux-x64-12.14.1 \
                -o server

# Copy to Build
FROM scratch AS export-stage
COPY --from=build-stage /usr/src/server/server /server

nexe 階段一團糟,我仍在移植到 webpack ......

你是對的,ldd 給了我一些錯誤:

加載共享庫 libstdc++.so.6 時出錯:沒有這樣的文件或目錄(服務器需要)

加載共享庫 libgcc_s.so.1 時出錯:沒有這樣的文件或目錄(服務器需要)

使用 debian 解決了這些問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM