I discovered it was difficult to do development in the devcontainer without these tools available.
31 lines
871 B
Docker
31 lines
871 B
Docker
FROM ubuntu:22.04
|
|
|
|
ARG DEBIAN_FRONTEND=noninteractive
|
|
# enable 'universe' because musl-tools & clang live there
|
|
RUN apt-get update && \
|
|
apt-get install -y --no-install-recommends \
|
|
software-properties-common && \
|
|
add-apt-repository --yes universe
|
|
|
|
# now install build deps
|
|
RUN apt-get update && \
|
|
apt-get install -y --no-install-recommends \
|
|
build-essential curl git ca-certificates \
|
|
pkg-config clang musl-tools libssl-dev && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
# non-root dev user
|
|
ARG USER=dev
|
|
ARG UID=1000
|
|
RUN useradd -m -u $UID $USER
|
|
USER $USER
|
|
|
|
# install Rust + musl target as dev user
|
|
RUN curl -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal && \
|
|
~/.cargo/bin/rustup target add aarch64-unknown-linux-musl && \
|
|
~/.cargo/bin/rustup component add clippy rustfmt
|
|
|
|
ENV PATH="/home/${USER}/.cargo/bin:${PATH}"
|
|
|
|
WORKDIR /workspace
|