This is a development environment for ECE 438, replacing virtual machines with containers.
Docker Hub: https://hub.docker.com/repository/docker/metricvoid/ece438
Note: Compatibility not guaranteed.
Note: this is not a production image and is not optimized for size.
-
The IP address of each container is displayed in the prompts
root@ece438-1[172.17.0.3]:/repo# -
The
repofolder is stored on host machine and shared across all containers. You can write code on the host machine and compile&run them in containers. -
SSH access between containers. All containers have user
rootwith passwordroot. -
Docker provides DNS service for the network bridge. e.g.
ece438-1will resolve to172.17.0.3in the example above.
- All containers have an IP address in CIDR
172.17.0.0/16. - Containers can communicate with each other.
- Containers can access the host. The host is at
172.17.0.1. - On Linux hosts, the host can access the container with their IPs. On Mac and Windows hosts, the host cannot access the containers.
- Install Docker
- Clone the repository
- Clone your ECE 438 repository into the
repo/folder. - Use the scripts.
Start-ContainerStart a container. (You may want multiple containers.) Containers are numbered with IDsAttach-ContainerAttach to the console of a container for various operations.- Cannot attach to a stopped container.
- Do not use
exitorlogoutto detach. UseCtrl-P Ctrl-Q.
Stop-AllContainersto stop all ECE438 containers.Remove-AllContainersto remove all ECE438 containers.
- You will be dropped into
/repoin the containers. Uselsto discover your code.