Skip to content

liuchong/docker-rustup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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