Home

Awesome

rustup

Build Status FOSSA Status

Automated builded images on store and hub for rust-lang with musl added, using rustup "the ultimate way to install RUST".

tag changed: all3 -> all

note:

  1. Image buildings are triggered by automated builds on cloud.docker.com when "build branch" is updated by build.sh
  2. Please check liuchong/rustup tags on store instead of Build Details on hub
  3. The "build branch" and "tags" are meaningless but just docker images(which are with stable/versions tags) for building
  4. the "version tags" are available from 1.15.0
  5. the stable/beta/nightly tags does not have the package "musl-tools" and the target "x86_64-unknown-linux-musl" installed by default

Usage

Images

pull the images:

> docker pull liuchong/rustup
> docker pull liuchong/rustup:musl

the tags are:

use the image

just setup the Dockerfile:
FROM liuchong/rustup:stable
...
or you maybe prefer to make a musl static building:
# 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"]

Build script

# Use automatical checked version from website for current stable builds:
./build.sh
# Use a specified stable version from command line:
./build.sh 1.21.0
# Do not build versioning tag, just pass a string which is not fit the version pattern,
# as the first argument:
./build.sh no-version
./build.sh foo

License

MIT

FOSSA Status