nipy / mindboggle

Automated anatomical brain label/shape analysis software (+ website)
http://mindboggle.info
Other
143 stars 54 forks source link

mindboggle docker installation problem #168

Closed SHJDwu closed 5 years ago

SHJDwu commented 5 years ago

Hi mindboggle experts, I'm attempting a docker install of Mindboggle on Ubuntu 14. I’ve followed the recommendations here (https://mindboggle.readthedocs.io/en/latest/). Firstly, I installed docker following this web page(https://docs.docker.com/install/linux/docker-ce/ubuntu/). After docker installation, I used the following commandline

docker pull nipy/mindboggle

then, the status showed "Download newer image for nipy/mindboggle: latest". Since mindboggle was downloaded, how can I finish its installation for the next step?

In the installation section of "https://mindboggle.readthedocs.io/en/latest/", what does the follow two commandlines mean? I did not understand what their setting path was used for.

HOST=/Users/binarybottle DOCK=/home/jovyan/work 微信图片_20190314212813

binarybottle commented 5 years ago

I don't know if there's a problem here. The next steps in the online documentation suggest setting environment variables so that you can access files from within the docker container, and then the command(s) for running mindlogger within the container.

NPann commented 5 years ago

This 2 environment variables are used to map the docker volume between your host machine and the docker container. HOST pointing to a folder on your host machine, DOCK pointing to a folder in the docker container so that when your run docker run --rm -ti -v $HOST:/home/jovyan/work -p 8888:8888 nipy/mindboggle you can access what is in the folder defined HOST from the docker container at the DOCK location.

Saying that, setting DOCK=/home/jovyan/work will not work because it seems that /home/jovyan/work has not been created in the container (Dockerfile). The doc seems is a bit outdated.

Also the jupyter notebook /opt/mindboggle/docs/mindboggle_tutorial.ipynb suggested in the the Getting help section returns: OSError: [Errno 99] Cannot assign requested address. I was able to launch the notebook with the following command: jupyter notebook /opt/mindboggle/docs/mindboggle_tutorial.ipynb --ip=0.0.0.0 --allow-root if that's helpful

PeerHerholz commented 5 years ago

Hi @binarybottle & @NPann, maybe including --run 'mkdir -p ~/.jupyter && echo c.NotebookApp.ip = \"0.0.0.0\" > ~/.jupyter/jupyter_notebook_config.py' \ in the neurodocker.sh file might help and will allow the classic call without the need to specify the IP/allowing root!? At least it did for some of the docker images I set up.

binarybottle commented 5 years ago

Thank you, @PeerHerholz ! I have added the line to neurodocker.sh and pushed to the repo.

@PeerHerholz and @NPann -- Before I update the docker container on dockerhub, could you please help me update the documentation as per "The doc seems is a bit outdated." comment above?

PeerHerholz commented 5 years ago

Sure thing! Did you have anything particular in mind? I'll build the image locally and test a bit around.

binarybottle commented 5 years ago

I'm just pushing a new version (1.3.1) to docker hub. I'll give each command a try and give you feedback in a bit...

binarybottle commented 5 years ago

Hi @binarybottle & @NPann, maybe including --run 'mkdir -p ~/.jupyter && echo c.NotebookApp.ip = \"0.0.0.0\" > ~/.jupyter/jupyter_notebook_config.py' \ in the neurodocker.sh file might help and will allow the classic call without the need to specify the IP/allowing root!? At least it did for some of the docker images I set up.

I tried adding the following line to neurodocker.sh:

--run 'mkdir -p ~/.jupyter && echo c.NotebookApp.ip = \"0.0.0.0\" > ~/.jupyter/jupyter_notebook_config.py' \

but for the current docker image, I still needed "--ip=0.0.0.0 --allow-root" to open up a jupyter notebook.

binarybottle commented 5 years ago

I am going to close this issue now that we have an updated docker container, updated instructions, and a working command to launch the jupyter notebook (from above):

jupyter notebook /opt/mindboggle/docs/mindboggle_tutorial.ipynb --ip=0.0.0.0 --allow-root