diff --git a/docker/README.md b/docker/README.md new file mode 100644 index 000000000..4dec63b94 --- /dev/null +++ b/docker/README.md @@ -0,0 +1,16 @@ +# Instructions + +Build all docker images, in order: + +```bash +(cd ubuntu-boost-tbb && exec build.sh) +(cd ubuntu-gtsam && exec build.sh) +(cd ubuntu-gtsam-python && exec build.sh) +(cd ubuntu-gtsam-python-vnc && exec build.sh) +``` + +Then launch with: + + docker run dellaert/ubuntu-gtsam-python-vnc:bionic + + diff --git a/docker/ubuntu-boost-tbb/build.sh b/docker/ubuntu-boost-tbb/build.sh new file mode 100755 index 000000000..2dac4c3db --- /dev/null +++ b/docker/ubuntu-boost-tbb/build.sh @@ -0,0 +1,3 @@ +# Build command for Docker image +# TODO(dellaert): use docker compose and/or cmake +docker build --no-cache -t dellaert/ubuntu-boost-tbb:bionic . diff --git a/docker/ubuntu-gtsam-python-vnc/Dockerfile b/docker/ubuntu-gtsam-python-vnc/Dockerfile index 26f995c56..61ecd9b9a 100644 --- a/docker/ubuntu-gtsam-python-vnc/Dockerfile +++ b/docker/ubuntu-gtsam-python-vnc/Dockerfile @@ -1,18 +1,18 @@ # This GTSAM image connects to the host X-server via VNC to provide a Graphical User Interface for interaction. # Get the base Ubuntu/GTSAM image from Docker Hub -FROM dellaert/ubuntu-gtsam-python:latest +FROM dellaert/ubuntu-gtsam-python:bionic # Things needed to get a python GUI ENV DEBIAN_FRONTEND noninteractive RUN apt install -y python-tk -RUN pip install matplotlib +RUN python3 -m pip install matplotlib # Install a VNC X-server, Frame buffer, and windows manager RUN apt install -y x11vnc xvfb fluxbox # Finally, install wmctrl needed for bootstrap script -RUN apt install -y wmctrl +RUN apt install -y wmctrl # Copy bootstrap script and make sure it runs COPY bootstrap.sh / diff --git a/docker/ubuntu-gtsam-python/Dockerfile b/docker/ubuntu-gtsam-python/Dockerfile index 71787d480..c733ceb19 100644 --- a/docker/ubuntu-gtsam-python/Dockerfile +++ b/docker/ubuntu-gtsam-python/Dockerfile @@ -1,7 +1,7 @@ # GTSAM Ubuntu image with Python wrapper support. # Get the base Ubuntu/GTSAM image from Docker Hub -FROM dellaert/ubuntu-gtsam:latest +FROM dellaert/ubuntu-gtsam:bionic # Install pip RUN apt-get install -y python3-pip python3-dev @@ -25,7 +25,7 @@ RUN cmake \ RUN make -j4 install && make clean # Needed to run python wrapper: -RUN echo 'export PYTHONPATH=/usr/local/cython/:$PYTHONPATH' >> /root/.bashrc +RUN echo 'export PYTHONPATH=/usr/local/cython/:$PYTHONPATH' >> /root/.bashrc # Run bash CMD ["bash"] diff --git a/docker/ubuntu-gtsam/Dockerfile b/docker/ubuntu-gtsam/Dockerfile index 393443361..187c76314 100644 --- a/docker/ubuntu-gtsam/Dockerfile +++ b/docker/ubuntu-gtsam/Dockerfile @@ -1,10 +1,10 @@ # Ubuntu image with GTSAM installed. Configured with Boost and TBB support. # Get the base Ubuntu image from Docker Hub -FROM dellaert/ubuntu-boost-tbb:latest +FROM dellaert/ubuntu-boost-tbb:bionic # Install git -RUN apt-get update && \ +RUN apt-get update && \ apt-get install -y git # Install compiler @@ -30,7 +30,7 @@ RUN cmake \ RUN make -j4 install && make clean # Needed to link with GTSAM -RUN echo 'export LD_LIBRARY_PATH=/usr/local/lib:LD_LIBRARY_PATH' >> /root/.bashrc +RUN echo 'export LD_LIBRARY_PATH=/usr/local/lib:LD_LIBRARY_PATH' >> /root/.bashrc # Run bash CMD ["bash"]