You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
900 B
36 lines
900 B
FROM rust:1.90.0 |
|
|
|
# Install basic development tools |
|
RUN apt-get update && apt-get install -y \ |
|
build-essential \ |
|
gdb \ |
|
git \ |
|
procps \ |
|
sudo \ |
|
&& rm -rf /var/lib/apt/lists/* |
|
|
|
# Create developer user with host UID/GID |
|
ARG USER_UID=1000 |
|
ARG USER_GID=1000 |
|
ENV USER_UID=${USER_UID:-1000} |
|
ENV USER_GID=${USER_GID:-1000} |
|
RUN groupadd -g $USER_GID developer \ |
|
&& useradd -u $USER_UID -g $USER_GID -m developer \ |
|
&& mkdir -p /workspace \ |
|
&& chown developer:developer /workspace |
|
|
|
RUN echo 'developer ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers.d/developer \ |
|
&& chmod 0440 /etc/sudoers.d/developer |
|
|
|
RUN mkdir -p /home/developer/.vscode-server \ |
|
&& chown -R developer:developer /home/developer/.vscode-server |
|
|
|
# Switch to developer user |
|
USER developer |
|
|
|
|
|
# Set up cargo path |
|
ENV PATH="/home/developer/.cargo/bin:${PATH}" |
|
|
|
# Set default workspace directory |
|
WORKDIR /workspace |