Project-MONAI / monai-deploy

MONAI Deploy aims to become the de-facto standard for developing, packaging, testing, deploying and running medical AI applications in clinical production.
Apache License 2.0
97 stars 22 forks source link

MD Express error when starting from within a docker #92

Open AHarouni opened 1 year ago

AHarouni commented 1 year ago

I can start and run MD Express from a local host. However I get an error from docker compose not finding files when I try to run MD express through a docker in docker after exposing the socket -v /var/run/docker.sock:/var/run/docker.sock

it seems like MD express launches dockers of its own as I get error trying to look for config files that are there on host but are mounted in different directory in the docker

Work around: I map the host dir to exactly the same as is into the docker as -v /home/harouni/demos/MDExpress:/home/harouni/demos/MDExpress

Proposed solution we can add a variable in the .env file as HOST_PATH which would be defaulted to $PWD but I can then change to read from an environment variable as -e HOST_PATH=/home/harouni/demos/MDExpress That way you can launch the sub dockers using this variable HOST_PATH

JHancox commented 1 year ago

@AHarouni - out of curiosity are you using the dind container or something else?

AHarouni commented 1 year ago

@JHancox I am not using dind container. instead this is any container with jupyterlab as nvidia pytorch base. I then expose the docker socket and apt install docker cli That way I can run docker commands from the jupyter notebook. This issue is these docker commands fails if they relay on PWD since the directory is virtual in the jupyter notebook container, while the docker engine search for this path on the host and doesn't find it

JHancox commented 1 year ago

This actually seems to stem from a lingering Docker/Compose bug: github.com/docker/for-linux/issues/675. I tried a couple of internal workarounds but no luck. Once the underlying issue is fixed, it should actually work fine in MDE.

AHarouni commented 1 year ago

The link doesn't work anymore.

JHancox commented 1 year ago

The link doesn't work anymore.

For some reason, I can't get the link to both display correctly and work, but it seems to, at least, work for now. I also updated the readme to make people aware of this problem and suggest your workaround.