From d1e540223f09e71792a8b57f8759a7bb29852d26 Mon Sep 17 00:00:00 2001 From: Ben Potter Date: Thu, 9 Sep 2021 23:44:58 -0500 Subject: [PATCH] add rust+cargo image (via home directory) --- images/rust/Dockerfile.ubuntu | 30 ++++++++++++++++++++++++++++++ images/rust/configure | 7 +++++++ 2 files changed, 37 insertions(+) create mode 100644 images/rust/Dockerfile.ubuntu create mode 100755 images/rust/configure diff --git a/images/rust/Dockerfile.ubuntu b/images/rust/Dockerfile.ubuntu new file mode 100644 index 0000000..800e792 --- /dev/null +++ b/images/rust/Dockerfile.ubuntu @@ -0,0 +1,30 @@ +FROM codercom/enterprise-base:ubuntu + +# Run everything as root +USER root + +ARG DEBIAN_FRONTEND="noninteractive" + +# Install rustup into /bin +ENV RUSTUP_HOME=/bin/rustup +# Temporarily install cargo in /tmp/cargo +ARG CARGO_HOME=/var/tmp/cargo + +# Run the install script +RUN curl https://sh.rustup.rs -sSf | sh -s -- -y + +# Select default Rust toolchain +RUN /var/tmp/cargo/bin/rustup default stable + +# Add rust to PATH +ENV PATH=$PATH:$RUSTUP_HOME +# Set proper CARGO_HOME +ENV CARGO_HOME=/home/coder/.cargo +ENV PATH=$PATH:/home/coder/.cargo/bin + +# Copy the configure script +# This will move cargo into the home directory +COPY configure /coder/configure + +# Set back to coder user +USER coder diff --git a/images/rust/configure b/images/rust/configure new file mode 100755 index 0000000..7e68105 --- /dev/null +++ b/images/rust/configure @@ -0,0 +1,7 @@ +# if /home/coder/.cargo/bin doesn't exist, move cargo from /tmp/cargo +if [ ! -d $CARGO_HOME ]; then + echo "Moving cargo from /var/tmp/cargo to $CARGO_HOME" + + mkdir -p $CARGO_HOME + sudo mv -r /var/tmp/cargo/* $CARGO_HOME +fi \ No newline at end of file