如何在Docker容器中同时配置Python和Rust环境?

Dockerfile构建镜像,同时需要python和rust环境,求助

# 使用基础 Python 镜像
FROM python:3.11.0-slim

# 更改apt源
RUN sed -i s@/deb.debian.org/@/mirrors.aliyun.com/@g /etc/apt/sources.list
# 安装rust所需
RUN apt-get update && \
    apt-get install -y --no-install-recommends \
    curl \
    build-essential \
    libssl-dev && \
    rm -rf /var/lib/apt/lists/* && \
    apt-get clean

# 安装 Rust,因为没有科学上网,这样设置之后,可以从国内下载rust-init
# ** 或者有可能这里就有错,但是我看rust的相关东西都下载下来了 **
ENV RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup
ENV RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh  -s -- -y  

# 设置 Rust 环境变量
ENV PATH="${CARGO_HOME}/bin:${PATH}"

# 验证 Rust 安装** 这一步出错 **
RUN rustc --version && cargo --version

# 后面大概就说add代码到根目录,然后pip升级,pip安装所需库
ADD . . 
WORKDIR ...
RUN pip install --upgrade pip -i https://pypi.doubanio.com/simple/

RUN pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

EXPOSE 8080

CMD ["python", "main.py"]

image.png
这个项目是其他人做的,他在python里面使用了一个包名叫“ploygons”,这个包好像是处理图像时比pandas还是什么快很多,但是这个包需要rust环境 cargo ,才能正常运行,在开发环境里安装rust环境还是比较轻松的。
但是我现在需要测试放在docker环境运行,然后打包发送给别人。

阅读 823
1 个回答

看起来是设置环境变量那步出了问题,试试"$HOME/.cargo/env"或者"/root/.cargo/bin:${PATH}"呢

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏