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