I'm trying to run a program called Isaac-Sim from inside of an outer docker container (called container A for reference), but Isaac-Sim already runs in its own docker container. The end goal is to modify this to use Isaac output, but for now I just need to make a basic container that can run Isaac inside of it to get started. In addition to needing access to the specific image, it also has a lot of volumes that mount files from the main OS it needs to properly work. I'm pretty unfamiliar with docker and have tried looking stuff up, but am just not quite sure where to start.
From my understanding so far, I would need to mount the volumes Isaac needs inside of container A and define the volumes for the Isaac container relative to the container A file path rather than the main OS. I would also need to make a volume in container A -v /var/run/docker.sock:/var/run/docker.sock
. This should allow me to run a docker run command inside of container A and have it start a parrallel container. However, what I'm not sure of is how to get access to the actual image for the Isaac container inside of container A. It's a rather lengthy installation process, so I don't want to reinstall it on container A every time I run it, I'd rather just volumize where it already is...but I'm not quite sure where that is.
Asked
Active
Viewed 109 times
0

sauron379
- 3
- 2
-
More than DinD (docker in docker), I suggest you check the `docker-compose` for your case. It will allow you to have multiple docker images talking to each other in an easier way. In your case, one image (or service if you prefer) would be the Isaac-Sim and another image would be your image that needs to read from the other one. Remember to expose the port or define the common volume – Marco Massetti Jul 18 '22 at 21:01
-
If you can restructure this application it will be easier to run. For example, if you can have both containers always running, and have one send an HTTP POST to the other with the data, then you won't need the complexities of sharing files or managing access to the Docker socket. – David Maze Jul 19 '22 at 00:42