Simple Docker container (with a few fixes) to run Kimera-VIO's public repositories. The instructions below assume minimal knowledge of Docker (and thus may appear verbose to more experienced users).
See notes.md for details on what changes were made.
./docker-install_ubuntu-20.04.bash- Installs Docker on your system. If you already have Docker installed, skip this step.
- Script assumes you are running Ubuntu 20.04. If you're not, consult an appropriate reference to install (don't use this script). You want Docker Engine (not Docker Desktop).
- Official Docker Documentation (Ubuntu)
- DigitalOcean's Documentation (Ubuntu 20.04)
- This script based off on DigitalOcean's instructions (I find them more straight forward than Docker's official instructions).
docker run hello-world- Test Docker installed properly. If you see "Hello from Docker!" message (followed by a bunch of other output), things worked.
- First time you run this command it will download the
hello-worldimage from the DockerHub, this is expected.
./build.bash- Builds the Docker image. Will take ~30min, even on fast computers.
./run.bash- Runs the Docker image. Bridges network. If you have ROS1 installed on your host system, you should be able to see a bunch of topics by typing
rostopic list
- Runs the Docker image. Bridges network. If you have ROS1 installed on your host system, you should be able to see a bunch of topics by typing
rosbag play test-data.bag- TODO add a bag file (these files get big since it contains stereo images + IMU data)
- Run a RealSense D435i
- TODO add correct IMU settings and topic names
README.md: this fileDockerfile: recipe forkimera-vio-dockerimagebuild.bash: simple script to execute thedocker buildcommandrun.bash: simple script to execute thedocker runcommandbridge: directory that gets mounted as/root/bridgebyrun.bashcopy: directory that contains files copied into image during its build; most notablycopy/entrypoint.bashcopy/entrypoint.bash: script that is run when image is executed; you can setROS_MASTER_URIandROS_IPin here; if you edit this file you need to re-runbuild.bash; if you comment out theENTRYPOINT ["/entrypoint.bash"]line fromDockerfile(last line) and rebuild, you will simply get a terminal prompt when runningcopy/mesh_rviz_plugins.patch: small patch applied during to fix buildbridge/start.bash: simple script to run theroslaunchcommand; useful if you launch to terminal prompt instead of a entrypoint scriptdocker-install_ubuntu-20.04.bash: simple script to installdocker-ceon Ubuntu 20.04; based on the DigitalOcean instructionsnotes.md: documents which commits each repository was on at the time of writing; many of the rosinstall repos depend on variousmasterbranches (i.e. are not pinned to specific commits), so future commits could break this build; if thebuild.bashfails, use these notes to restoreDockerfileto a working state
- Add sample
test-data.bagfile - Add instructions for
rosbag play - Add instructions for RealSense D435i
- Push DockerHub image