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"]
这个项目是其他人做的,他在python里面使用了一个包名叫“ploygons”,这个包好像是处理图像时比pandas还是什么快很多,但是这个包需要rust环境 cargo ,才能正常运行,在开发环境里安装rust环境还是比较轻松的。
但是我现在需要测试放在docker环境运行,然后打包发送给别人。
看起来是设置环境变量那步出了问题,试试"$HOME/.cargo/env"或者"/root/.cargo/bin:${PATH}"呢