无法在Docker映像中运行Rust应用程序:“作为const fn尚未稳定”

时间:2018-07-17 02:03:10

标签: docker rust

我正在关注the tutorial to run a Rust application in a Docker image。我的Dockerfile中包含以下内容:

FROM rust:1.23.0

WORKDIR src/main

COPY . .

RUN cargo install

CMD ["main"]

使用docker build -t my-rust-app .运行此命令时,出现以下错误:

error: `std::sync::atomic::AtomicBool::new` is not yet stable as a const fn
   --> /usr/local/cargo/registry/src/github.com-1ecc6299db9ec823/yansi-0.4.0/src/paint.rs:274:30
    |
274 | static ENABLED: AtomicBool = AtomicBool::new(true);
    |                              ^^^^^^^^^^^^^^^^^^^^^
    |
    = help: in Nightly builds, add `#![feature(const_atomic_bool_new)]` to the crate attributes to enable

error: aborting due to previous error

error: Could not compile `yansi`.

该如何解决此错误并在Docker容器中运行Rust应用程序?我已经研究了几个小时,并在我的Dockerfile中尝试了rustup updatecargo update的变体,但是这些安装都没有解决错误。

1 个答案:

答案 0 :(得分:2)

AtomicBool::new称为const是stabilized in Rust 1.24.0。使用该版本(或任何更高版本)进行编译可以解决您的问题:

FROM rust:1.24.0