我在尝试在我的 Mac 机器上创建一个 Rust 项目的 Docker 镜像,并希望能够在 x86_64 架构的 Linux 机器上运行它。我已经尝试了几天,但仍然无法成功构建镜像。下面是我的 Dockerfile:
WORKDIR /usr/src/hello-rust
# Install dependencies including gcc, and then create a symbolic link if necessary
RUN apk update && \
apk add --no-cache musl-dev openssl-dev pkgconf build-base openssl gcc && \
# If creating a symbolic link is necessary, uncomment the following line:
ln -s /usr/bin/gcc /usr/bin/x86_64-linux-gnu-gcc
ENV OPENSSL_LIB_DIR=/usr/lib \
OPENSSL_INCLUDE_DIR=/usr/include \
PKG_CONFIG_ALLOW_CROSS=1 \
OPENSSL_STATIC=true
COPY . .
RUN cargo build --release --target=x86_64-unknown-linux-gnu
FROM alpine:3.19
RUN apk add --no-cache libgcc openssl
WORKDIR /root/
COPY --from=builder /usr/src/hello-rust/target/release/hello-rust .
EXPOSE 9007
CMD ["./hello-rust"]
实话说,我就是一个 hello rust ,主要是 Dockerfile 追求最小 size 的镜像,所以用了 alpine ,查了很多资料,你们也可以看到我的 Dockerfile 也是 GPT4 改的,我也是才知道 Mac 到 Linux 有个 x86_64-unknown-linux-gnu ,但是一直没有配置好,请大神指点。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.