Docker image to be used for EE5333 assignments and tutorials
203
This container will be used throughout the Jan-May 2024 semester for the EE5333 Introduction to Physical Design Automation course.
The following instructions help set up a personalized image and run containers for developing
Create a file named dockerfile with the following contents:
FROM srampr/ee5333:latest AS env
ARG UID=0
ARG GID=0
RUN if [ "$GID" -ne "0" ] ; then echo $GID && groupadd -g $GID -o ee5333; fi
RUN if [ "$UID" -ne "0" ] ; then useradd -m -u $UID -g $GID -p align -o -s /bin/bash ee5333; fi
RUN chown -R ee5333 /work
RUN echo "ee5333 ALL=(ALL:ALL) ALL" >> /etc/sudoers
RUN echo '#!/bin/bash\njupyter notebook --no-browser --ip 0.0.0.0 --port 8888\n' > /usr/local/bin/jn && chmod +x /usr/local/bin/jn
USER ee5333
WORKDIR /work
To create a corresponding docker image that generates files with appropriate file permissions in Linux, run:
docker build --build-arg UID=$(id -u) --build-arg GID=$(id -g) -t ee5333_user .
For example, if you want to mount /home/user/my_work inside the container and run an interactive bash shell use:
docker run -v /home/user/my_work:/work -it ee5333_user bash
jupyter inside the containerTo run a jupyter notebook on this image's container that is accessible on the host browser:
docker run -it -v /home/user/my_work:/work -p 8888:8888 ee5333_user /usr/local/bin/jn
To build/run your binary use your build tool or binary as the last argument to the docker run command.
You can either use the make or cmake systems to build binaries inside the containers.
Build example:
docker run -it -v /home/user/my_work:/work ee5333_user make
Run example with a binary named partitioner with a file input.graph as argument:
docker run -ti -v /home/user/my_work:/work ee5333_user ./partitioner input.graph
Content type
Image
Digest
sha256:2a6b27d88…
Size
527.3 MB
Last updated
over 2 years ago
docker pull srampr/ee5333