This uses an automated build on Dockerhub: https://hub.docker.com/r/socialcars/docker/ so you don't have to build the image for yourself.
- socialcars/docker:sumo
- socialcars/docker:colmto
- socialcars/docker:texlive-full
- socialcars/docker:texlive-medium
- socialcars/docker:texlive-small
- socialcars/docker:texlive-basic
- socialcars/docker:texlive-minimal
A Docker base image for the SUMO traffic simulation package. SUMO (Simulation of Urban MObility) is an open source, highly portable, microscopic and continuous road traffic simulation package designed to handle large road networks.
This Dockerfile uses Docker's concept of volumes where you make one or more folders on your host computer available inside the docker container. The paths of these volumes are specificed in the Dockerfile. In this case, you can make a folder on your host computer available as /data
in the Docker container.
For example, if you have your SUMO files stored in the folder /some/local/path/to/your/data
on your host computer, you can "mount" this folder as follows: -v /some/local/path/to/your/data:/data
. When passing command line arguments to SUMO, use /data
instead of the real folder's name on your computer.
This command illustrates this:
docker run --rm -t -i -p 1234:1234 -v /some/local/path/to/your/data:/data socialcars/docker:sumo
It is also possible to automate simulation runs by using CircleCI as an execution engine. The results of the simulation can then be published as a GitHub release.
See masc/sumo-stressgrid. To automate a simulation one could use the following workflow:
- Setup CircleCI to build your project.
- Develop simulation code in the master branch until it is mature enough to be used for a simulation.
- Fork a new branch, e.g. sim-4x4 to simulate a 4x4 grid or sim-4x6.
- Adapt circle.yaml in that branch to your needs, i.e. add parameters, etc.
- Push to repository and let CircleCI run your simulation and publish the results.
Use the following command if you want to control SUMO using the Traffic Control Interface . This exposes SUMO's features on port 1234 via TCP/IP:
docker run -t -i --rm -p 1234:1234 \
-v /some/local/path/to/your/data:/data \
socialcars/docker:sumo \
-c /data/scenario.sumocfg \
--remote-port 1234 \
-v
Initially based on work done by pfisterer and farberg.
Docker container extending socialcars/docker:sumo with necessary dependencies for running unit-tests and building documentation of SocialCars/colmto.