Skip to content

Chore/docker migration - #16

Open
alexrsing wants to merge 5 commits into
mainfrom
chore/docker-migration
Open

alexrsing wants to merge 5 commits into
mainfrom
chore/docker-migration

Conversation

@alexrsing

Copy link
Copy Markdown
Contributor

Creates two dev containers for environment - one for dev and one for prod/rover. Builds on both ARM64 and an x86 system.

@CPrutean CPrutean left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few things I was thinking about looking at this, I dont know if i agree with the methodology of having 2 separate containers for prod vs dev, Each dockerfile should install all dependencies internally and then run inside the container.

Please provide clarification on what hardware specific stuff wouldn't be able to work inside the container that we couldn't push into one docker file.

@alexrsing

Copy link
Copy Markdown
Contributor Author

The motivation for the two Dockerfiles wasn't a hardware issue. I was thinking that the dev container wouldn't have things like the ZED SDK since the camera input would be provided by the simulation environment for testing before running the code on the rover. I didn't really know that you could run a multi-stage Dockerfile before doing this, so I'm working on changing it to that.

CPrutean
CPrutean previously approved these changes Sep 14, 2026

@CPrutean CPrutean left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks much better, for future projects we should stick to one docker file since its generally much cleaner

Comment thread src-autonomy/arm/package.xml Outdated
Comment thread src-autonomy/arm/setup.py Outdated
@CPrutean

Copy link
Copy Markdown
Member

Before merge please fix python lint

@CPrutean
CPrutean dismissed their stale review September 14, 2026 20:28

Have some other suggestions

@CPrutean CPrutean left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wanted to suggest a different approach to the Dockerfile, the dockerfile is specificially for ROS so switching from a base ROS specific image feels like a pattern we shouldn't repeat.

Instead something we could do is copy the setup commands for ZED specifically and keep the ros image as is.

https://github.com/stereolabs/zed-docker/blob/master/5.X/ubuntu/devel/Dockerfile

Linked above is the source code of the zed SDK dockerfile, its about 25 lines long, we could instead keep the old ROS docker file add in the small ZED sdk setup lines and keep the Dockerfile as is.

My main gripe with changing the base Docker image is it incentivise us to do that over and over when we want to add software support for something specific when we can instead just add a small section to add the patch we need in.

You can disregard this and push back on this as well this is just my opinion

@alexrsing
alexrsing force-pushed the chore/docker-migration branch from 91ed9e0 to 12da1fb Compare September 16, 2026 22:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants