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
错误,我错过了什么?
Docker 文件
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 解决了它们。
我试图 运行 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
错误,我错过了什么?
Docker 文件
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 解决了它们。