Sign inSign up

srampr/ee5333

By srampr

Updated over 2 years ago

Docker image to be used for EE5333 assignments and tutorials

Image
0

203

srampr/ee5333 repository overview

EE5333 docker container for assignments and tutorials

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

Building a personalized image

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 .
Mounting host directory inside container

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
Running jupyter inside the container

To 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
Building and running C/C++ binaries

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

Tag summary

Content type

Image

Digest

sha256:2a6b27d88

Size

527.3 MB

Last updated

over 2 years ago

docker pull srampr/ee5333