IHMC Logger Docker
Dockerfile repository for running the IHMC Logger distribution as a Docker container.
Cameras vs. No Cameras
The IHMC Logger software can be synced up with video data. Currently, the docker distribution only supports a no-camera configuration. Adding camera support to the docker container is on the roadmap.
You will need to override one
ENV variable to get the logger to work. In a typical situation, the machine hosting the IHMC Logger may have multiple network interfaces. It can only listen for log session requests on a single one of these interfaces. A standard network topology would be to have all robots in a lab on a single subnet, and the logger having a single NIC on that subnet. To make sure the logger listens for connections on the correct interface, it should be told what its own IP address is on the corresponding interface.
Given that background info, a standard command to run the docker image might look like:
$ docker pull ihmcrobotics/ihmc-logger-docker:0.9.1-no_cameras $ docker run -d --net=host -v `pwd`:/root/robotLogs \ -v /etc/localtime:/etc/localtime:ro \ -e IHMC_LOGGER_IP=<IP ADDRESS GOES HERE> \ ihmc-logger-docker
Rebuilding the container
Using the latest release of the Logger software
The container can be rebuilt with a simple
docker build -t <your image name here> .. This will download the latest release of the Logger from Our Bintray at build time.
Using locally built versions of the Logger
If you want to clone this repo and build your own container from the Dockerfile and the Logger from source, then it currently requires you to clone https://github.com/ihmcrobotics/ihmc-open-robotics-software and build the Logger distribution included with the IHMCRobotDataLogger project. You will want to use the
-LOCAL Dockerfile as well.
Clone the project, navigate to the
IHMCRobotDataLogger directory, and then run
This will output the tarball to
IHMCRobotDataLogger/build/distributions. Move the tarball to the same directory as the Dockerfile then run the build.
docker build -t ihmc-logger-no-cameras-local -f Dockerfile-LOCAL .
You will want to make sure that the
LOGGER_VERSION Environment Variable in the Dockerfile is the same as the version number on the tarball generated by the Gradle build. By default, this version number is inherited from the overarching version number assigned to all subprojects of IHMCOpenRoboticsSoftware.