I'm trying to implement this https://github.com/samsammurphy/gee-atmcorr-S2 in Google Earth Engine using Docker Toolbox for atmospheric correction.

I first install Datalab following the instruction on https://developers.google.com/earth-engine/python_install-datalab-local

Once that's done, it show me the path guope@DESKTOP-RST8AAG MINGW64 ~/workspace/datalab-ee

Then I pull the docker image using docker pull samsammurphy/ee-python3-jupyter-atmcorr:latest

Then I run docker run -i -t -p 8888:8888 samsammurphy/ee-python3-jupyter-atmcorr and it shows me root@5d7195f4dd85:/#, which means I'm in a virtual OS.

Then I authenticate my EE account and it shows Successfully saved authorization token.

Then I grab the source code git clone https://github.com/samsammurphy/gee-atmcorr-S2 and navigate to the folder cd gee-atmcorr-S2/jupyer_notebooks/.

However, when I copy/paste the URL into my browser, it says localhost refused to connect. Ideally, I think it should open the jupyter notebook with the script loaded.

Can anyone please tell me what the problem is and how to fix it?

root@88676ad61bbb:/gee-atmcorr-S2/jupyer_notebooks# jupyter-notebook sentinel2_atmospheric_correction.ipynb --ip='*' --port=8888 --allow-root
[W 10:25:15.109 NotebookApp] WARNING: The notebook server is listening on all IP addresses and not using encryption. This is not recommended.
[I 10:25:15.128 NotebookApp] Serving notebooks from local directory: /gee-atmcorr-S2/jupyer_notebooks[I 10:25:15.129 NotebookApp] 0 active kernels
[I 10:25:15.129 NotebookApp] The Jupyter Notebook is running at: http://[all ip addresses on your system]:8888/?token=...
[I 10:25:15.129 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[W 10:25:15.130 NotebookApp] No web browser found: could not locate runnable browser.
[C 10:25:15.131 NotebookApp]

Copy/paste this URL into your browser when you connect for the first time,
to login with a token:

Also noticed that the error No web browser found: could not locate runnable browser.

  • Did you use -p 8888:8888 when running the image with docker run? – spadarian Oct 13 '18 at 12:56
  • Yes, exactly as the instruction. – Gorden Jiang Oct 13 '18 at 22:13
  • Try using your ip address:8888 instead of localhost:8888 – enolan Oct 15 '18 at 15:39

It turns out I should use my IP address:

Reference: https://www.reddit.com/r/docker/comments/a4gvnm/localhost_refused_to_connect/?utm_content=full_comments&utm_medium=message&utm_source=reddit&utm_name=frontpage


Not sure if you got any further with it, i'm struggeling somewhere in this process as well. But did you consider the following:

1) test if Docker is working:

docker run hello-world

2) If it is not: check virtualization and if you have hyper V installed. If it is working try to check if the created image is correctly displayed with this code in cmd:

docker images

It should display the image in correct name: atmcorr-timeseries.

if these are not the problems you probably have to give some more details? Where is everything installed, which versions do you have running etc?

  • No, I haven't. docker images give me "repository, tag, image ID, created, size", which shows 2 repositories hello-world and samsammurphy/ee-python3-jupyter-atmcorr. gee-atmcorr-S2 is located in the Docker Toolbox folder. Any thoughts? – Gorden Jiang Oct 26 '18 at 1:27
  • This suggest the hello world test works and the atmcorr-timeseries command as well, strangely enough the name (yours is samsammurphy/ee-python3-jupyter-atmcorr) is different than I was expecting? In the build command you specify the name which appears to be different with you perhaps try running the image: so instead of docker run -i -t -p 8888:8888 atmcorr-timeseries try: docker run -i -t -p 8888:8888 samsammurphy/ee-python3-jupyter-atmcorr I'm also unaware about the effect of different python versions. – Jobbo90 Oct 26 '18 at 7:54
  • I couldn't find atmcorr-timeseries, where did you see it? Yes, $ docker run -i -t -p 8888:8888 samsammurphy/ee-python3-jupyter-atmcorr:v1.0 was the one I used. – Gorden Jiang Oct 26 '18 at 8:46
  • The original instruction suggest using docker run -i -t -p 8888:8888 atmcorr-timeseries, but the run function depends on the name you supplied in the build function. Again without specifying the exact steps and code you went through, allowing to replicate your steps it will be dificult to find the problem. – Jobbo90 Oct 26 '18 at 13:07
  • Please find my edited question, hope it's clearer than before. – Gorden Jiang Dec 8 '18 at 9:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.