Automated builded images for rust-lang with musl added. using rustup "the ultimate way to install RUST".
> docker pull liuchong/rustup
> docker pull liuchong/rustup:musl
the tags are:
- stable: (stable/Dockerfile)
- beta: (beta/Dockerfile)
- nightly: (nightly/Dockerfile)
- musl: (musl/Dockerfile) the Dockerfile of tag "latest" is using "musl" version.
note: the stable/beta/nightly branches does not have the package "musl-tools" and the target "x86_64-unknown-linux-musl" installed by default.
FROM liuchong/rustup:stable
...
# you can also use "latest", which is the same as "musl".
docker run -v $PWD:/build_dir -w /build_dir -t liuchong/rustup:musl cargo build --release
# or, you may want to use nightly channel and fix the ownership and remove container after run as below:
docker run --rm -v $PWD:/build_dir -w /build_dir -t liuchong/rustup:musl sh -c "rustup run nightly cargo build --release && chown -R $(id -u):$(id -g) target"
then, you can write a dockerfile like this and build you app image(so, the image will be very small):
FROM scratch
ADD target/x86_64-unknown-linux-musl/release/your-app /
CMD ["/your-app"]
# or something like this:
# CMD ["/your-app", "--production"]