Debian 为基的 docker 镜像如何安装新版 cargo,你需要这三句指令
1. 利用 curl 下载并执行
远端 rustup-init.sh
RUN curl https://sh.rustup.rs -sSf | sh -s -- -y
2.指定 Dockerfile Shell
以执行 source
命令
SHELL ["/bin/bash", "-c"]
3. 利用 source 加载 cargo
RUN source "$HOME/.cargo/env" && pip3 install -r requirements.txt
最终
的代码
SHELL ["/bin/bash", "-c"]
# Install Rust and Cargo
RUN curl https://sh.rustup.rs -sSf | sh -s -- -y
RUN source "$HOME/.cargo/env" && cargo --version
RUN source "$HOME/.cargo/env" && rustc --version
COPY requirements.txt /code
RUN source "$HOME/.cargo/env" && pip3 install -r requirements.txt
pip 还可以用上 tsinghua 的 pypi 镜像
pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
但是这里因为 cargo 需要请求 github 上的资源,而不得不用网络代理,所以用国内镜像可能会有问题。
FAQ
为什么不直接用 apt-get
apt-get 安装的 rust 版本会有一定的问题,无法执行 pypi 包中的构建命令。
为什么不直接用 ubuntu 为基的镜像
也是可以的。或者直接指定 rust 的镜像,但是本示例中是以 python 镜像为基的,已经指定了,不容易变更。
什么是 cargo
Cargo 是 rust 语言的依赖包管理器。The Rust package manager
为什么会用到 python pip
本身项目的主语言就是 python, 这里是利用 pip 安装一个用 rust 语言编写的库。
你对 rust 的了解有多少
我对 rust 一无所知。