Skip to content

Modernize GTSAM containers #1779

@acxz

Description

@acxz

Feature

Need some GTSAM containers, noticed the containers we provide are pretty outdated (latest push to Docker Hub 3 years ago and based off bionic).

I also noticed some todo's to use the Compose Spec and noticed that our list of images could be streamlined with the use of tags.

tldr: modernize containers with newer versions, better tooling (compose), use of tags for various configurations, slimmer containers with best practices of writing container files.

Motivation

Need newer GTSAM images, smaller image sizes, and easier building/pushing to online registries

Pitch

Replace build.sh scripts with compose.yaml

Use .env files to specify various gtsam configurations, such as base ubuntu image, tbb on/off, python on/off, gtsam git tag.
Have a single gtsam image repository (instead of multiple potentially unused intermediary images) with various tags corresponding to build configurations
Have another image for the gtsam-vnc image (of course tagged with a base gtsam image)

Create a simple script to push various tagged images to docker hub in one go.

Create smaller image sizes, by condensing RUN commands and using appropriate flags such as --no-install-recommends.

Alternatives

N/A

Additional context

For full transparency, I'm writing this issue after I have implemented a resolution for it. See: https://hub.docker.com/r/acxz/gtsam/tags

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions