42 lines
1.2 KiB
Docker
42 lines
1.2 KiB
Docker
# Use an existing image as the base
|
|
FROM nvcr.io/nvidia/pytorch:23.03-py3
|
|
|
|
# Add the current user to the image
|
|
ARG USER_NAME=lhunor
|
|
ARG USER_ID=11017
|
|
ARG GROUP_NAME=guest
|
|
ARG GROUP_ID=11000
|
|
|
|
# Update the system and install required packages
|
|
RUN apt-get update && apt-get upgrade -y && apt-get install -y sudo git apt-utils
|
|
|
|
# Create a new group with the same GID as the host
|
|
RUN groupadd --gid $GROUP_ID $GROUP_NAME
|
|
|
|
# Create a new user with the same UID and GID as the host
|
|
RUN useradd --uid $USER_ID --gid $GROUP_ID --shell /bin/bash --create-home $USER_NAME
|
|
|
|
# don't require password with sudo, for convenience
|
|
# not the safest thing to do, but hopefully okay inside the container
|
|
RUN echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
|
|
|
|
# Add the new user to the sudo group
|
|
RUN usermod -aG sudo $USER_NAME
|
|
|
|
# Set the default user to the new user
|
|
USER $USER_NAME
|
|
|
|
WORKDIR /workspace
|
|
|
|
ENV PATH="$PATH:/home/$USER_NAME/.local/bin"
|
|
RUN pip install --upgrade pip
|
|
COPY requirements.txt /tmp/
|
|
RUN pip install --requirement /tmp/requirements.txt
|
|
|
|
# defining the volumes that will be mounted
|
|
VOLUME [ "/data-net" ]
|
|
VOLUME [ "/data-local" ]
|
|
VOLUME [ "/home-net" ]
|
|
|
|
# Start the container with a bash shell
|
|
CMD ["/bin/bash"] |