Docker:没找到Cargo.toml

时间:2016-09-24 17:20:23

标签: docker rust-cargo

我有一个货运项目,结构如下:

experiment
|
|- Dockerfile
|- Cargo.toml
|- src/
|-- main.rs

我的Dockerfile的内容是(source):

FROM scorpil/rust:1.10

RUN mkdir -p /rust/app
WORKDIR /rust/app

ONBUILD COPY . /rust/app
OBUILD CMD ls -a /source
ONBUILD RUN cargo build --release

CMD cargo run --release

我设法构建了图像但是当我尝试在本地计算机上运行它时,我收到以下错误:

  

docker run -i -d -p 8080:80 --name rust_hello_world   menawi / rust_hello_world

517a8772100cbd6fd388df1f3767175113ce2dbad93d144976b59d63d4809146
  

docker ps -a

CONTAINER ID        IMAGE                  COMMAND                  CREATED             STATUS                        PORTS               NAMES
517a8772100c        menawi/rust_hello_world   "/bin/sh -c 'cargo ru"   17 seconds ago      Exited (101) 11 seconds ago                       rust_hello_world
  

docker logs rust_hello_world

error: could not find `Cargo.toml` in `/rust/app` or any parent directory

为什么会出现此错误?有没有办法可以看到哪些文件被复制到/ rust / app文件夹中?

1 个答案:

答案 0 :(得分:0)

您可以使用CMD

运行容器并覆盖bash

docker run -i -t -p 8080:80 --name rust_hello_world menawi/rust_hello_world bash

比你在容器的bash中,你可以打印文件夹

中的文件列表