Linux sh can';无法运行可执行文件
我尝试在alpine的docker容器中运行可执行文件:Linux sh can';无法运行可执行文件,linux,docker,sh,alpine,Linux,Docker,Sh,Alpine,我尝试在alpine的docker容器中运行可执行文件: /usr/src/server#ls-l 总数57472 -rw-r--r--1根根目录166 Dec 29 12:22 Dockerfile -rwxr-xr-x 1根根目录58844530 Dec 29 12:35服务器 /usr/src/server#/server /bin/sh:./server:未找到 当尝试运行容器时,它会给我文件未找到错误,我遗漏了什么 Dockerfile FROM alpine:3.12.3 # C
/usr/src/server#ls-l
总数57472
-rw-r--r--1根根目录166 Dec 29 12:22 Dockerfile
-rwxr-xr-x 1根根目录58844530 Dec 29 12:35服务器
/usr/src/server#/server
/bin/sh:./server:未找到
当尝试运行容器时,它会给我文件未找到
错误,我遗漏了什么
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)
nexe stage一团糟,我仍在移植到webpack…你是对的,ldd给了我一些错误: 加载共享库libstdc++.so.6时出错:没有这样的文件或目录(服务器需要) 加载共享库libgcc_.so.1时出错:没有这样的文件或目录(服务器需要)
使用debian解决了这些问题。你说得对,ldd给了我一些错误: 加载共享库libstdc++.so.6时出错:没有这样的文件或目录(服务器需要) 加载共享库libgcc_.so.1时出错:没有这样的文件或目录(服务器需要)
使用debian解决了这些问题。您从哪里获得
server
?请记住,alpine不使用Glibc,GNU dynamic loader也没有附带。Nexe生成了它:请共享此映像的Dockerfile内容。如果您的映像缺少所构建二进制文件的共享库,则会出现此错误。您可以运行lddserver
,看看它会带来什么。还请注意,Alpine的一些核心库版本不同,可能会导致兼容性问题;查看Nexe文档,它看起来像是它的基础工具的阿尔卑斯变体,或者你可以构建一个基于Debian或Ubuntu的最终映像。它解决了,ldd给了我一些问题,Debian用完了,请回答而不是评论,以标记为已解决。你从哪里获得服务器
?请记住,alpine不使用Glibc,GNU dynamic loader也没有附带。Nexe生成了它:请共享此映像的Dockerfile内容。如果您的映像缺少所构建二进制文件的共享库,则会出现此错误。您可以运行lddserver
,看看它会带来什么。还请注意,Alpine的一些核心库版本不同,可能会导致兼容性问题;看看Nexe文档,它看起来像是它的基础工具的一个阿尔卑斯变体,或者你可以构建一个基于Debian或Ubuntu的最终映像。它解决了,ldd给了我一些问题,Debian用完了,请回答而不是评论,以标记为已解决。
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