如何在Docker容器中使用Cargo安装mdbook?

如何在Docker容器中使用Cargo安装mdbook?,docker,rust,rust-cargo,Docker,Rust,Rust Cargo,我试图建立一个码头集装箱,其中包括铁锈和mdbook。我试过很多不同的方法 FROM rust:latest RUN cargo install mdbook 包括指定确切的版本。例如,这些也不起作用 RUN cargo install --git https://github.com/rust-lang-nursery/mdBook.git mdbook 及 当安装开始编译lazycell v1.2.0时,一切都失败了: 编译lazycell v1.2.0 错误:`::new`作为常量fn

我试图建立一个码头集装箱,其中包括铁锈和mdbook。我试过很多不同的方法

FROM rust:latest
RUN cargo install mdbook
包括指定确切的版本。例如,这些也不起作用

RUN cargo install --git https://github.com/rust-lang-nursery/mdBook.git mdbook

当安装开始编译lazycell v1.2.0时,一切都失败了:

编译lazycell v1.2.0
错误:`::new`作为常量fn还不稳定
-->/usr/local/cargo/registry/src/github.com-1ec6299db9ec823/lazycell-1.2.0/src/lib.rs:233:16
|
233 |内部:未安装::新(无),
|                ^^^^^^^^^^^^^^^^^^^^^
|
=帮助:在夜间构建中,添加`#![功能(const_unsafe_cell_new)]`到板条箱属性以启用

不用Docker提供的锈迹容器,您可以构建自己的锈迹容器。Rust的版本仍然是1.30(与Rust:latest中的
一样),但出于某种原因,此过程正确地处理了所有依赖项

FROM ubuntu:latest
FROM gcc:latest

RUN apt-get update && \
    apt-get install -y curl

WORKDIR /tmp

RUN curl https://sh.rustup.rs -sSf > rustup.sh
RUN chmod 755 rustup.sh
RUN ./rustup.sh -y
RUN rm /tmp/rustup.sh

RUN ~/.cargo/bin/cargo install mdbook
FROM ubuntu:latest
FROM gcc:latest

RUN apt-get update && \
    apt-get install -y curl

WORKDIR /tmp

RUN curl https://sh.rustup.rs -sSf > rustup.sh
RUN chmod 755 rustup.sh
RUN ./rustup.sh -y
RUN rm /tmp/rustup.sh

RUN ~/.cargo/bin/cargo install mdbook