Skip to content

Docker Run displays an invalid URL for accessing the image #662

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
tylere opened this issue Jun 20, 2018 · 2 comments
Closed

Docker Run displays an invalid URL for accessing the image #662

tylere opened this issue Jun 20, 2018 · 2 comments

Comments

@tylere
Copy link
Contributor

tylere commented Jun 20, 2018

What docker image you are using?

jupyter/scipy-notebook:03b897d05f16

What complete docker command do you run to launch the container (omitting sensitive values)?

docker run -it --rm -p 8888:8888 -e JUPYTER_LAB_ENABLE=yes -v "$PWD:/home/jovyan/mount" jupyter/scipy-notebook:03b897d05f16

What steps do you take once the container is running to reproduce the issue?

No additional steps

What do you expect to happen?

Jupyter should provide a URL that starts with: http://localhost:8888/ and contains one token.

What actually happens?

Jupyter provides a URL that starts with: http://3a2d76216bb6:8888/ and that contains two tokens:

    Copy/paste this URL into your browser when you connect for the first time,
    to login with a token:
        http://3a2d76216bb6:8888/?token=8c701464b26d1c99008083c677ccf8e86c94abcb46ee63e2&token=8c701464b26d1c99008083c677ccf8e86c94abcb46ee63e2

The last image without this issue appears to be jupyter/scipy-notebook:e7000ca1416d:

tylere-macbookpro3:jupyter-scipy-notebook-ee tylere$ docker run -it --rm -p 8888:8888 -e JUPYTER_LAB_ENABLE=yes -v "$PWD:/home/jovyan/mount" jupyter/scipy-notebook:e7000ca1416d
/usr/local/bin/start-notebook.sh: ignoring /usr/local/bin/start-notebook.d/*

Container must be run with group "root" to update passwd file
Executing the command: jupyter notebook
[I 22:17:12.488 NotebookApp] Writing notebook server cookie secret to /home/jovyan/.local/share/jupyter/runtime/notebook_cookie_secret
[W 22:17:12.716 NotebookApp] WARNING: The notebook server is listening on all IP addresses and not using encryption. This is not recommended.
[I 22:17:12.756 NotebookApp] JupyterLab beta preview extension loaded from /opt/conda/lib/python3.6/site-packages/jupyterlab
[I 22:17:12.756 NotebookApp] JupyterLab application directory is /opt/conda/share/jupyter/lab
[I 22:17:12.769 NotebookApp] Serving notebooks from local directory: /home/jovyan
[I 22:17:12.770 NotebookApp] 0 active kernels
[I 22:17:12.770 NotebookApp] The Jupyter Notebook is running at:
[I 22:17:12.770 NotebookApp] http://[all ip addresses on your system]:8888/?token=1f46c8fdac523813cab2689aff43293f5db54531444bdc29
[I 22:17:12.770 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 22:17:12.771 NotebookApp] 
    
    Copy/paste this URL into your browser when you connect for the first time,
    to login with a token:
        http://localhost:8888/?token=1f46c8fdac523813cab2689aff43293f5db54531444bdc29

The issue started occurring with jupyter/scipy-notebook:4417b81d04b7:

tylere-macbookpro3:jupyter-scipy-notebook-ee tylere$ docker run -it --rm -p 8888:8888 -e JUPYTER_LAB_ENABLE=yes -v "$PWD:/home/jovyan/mount" jupyter/scipy-notebook:4417b81d04b7
/usr/local/bin/start-notebook.sh: ignoring /usr/local/bin/start-notebook.d/*

Container must be run with group "root" to update passwd file
Executing the command: jupyter notebook
[I 22:17:28.028 NotebookApp] Writing notebook server cookie secret to /home/jovyan/.local/share/jupyter/runtime/notebook_cookie_secret
[W 22:17:28.239 NotebookApp] WARNING: The notebook server is listening on all IP addresses and not using encryption. This is not recommended.
[I 22:17:28.275 NotebookApp] JupyterLab beta preview extension loaded from /opt/conda/lib/python3.6/site-packages/jupyterlab
[I 22:17:28.275 NotebookApp] JupyterLab application directory is /opt/conda/share/jupyter/lab
[I 22:17:28.288 NotebookApp] Serving notebooks from local directory: /home/jovyan
[I 22:17:28.288 NotebookApp] 0 active kernels
[I 22:17:28.288 NotebookApp] The Jupyter Notebook is running at:
[I 22:17:28.288 NotebookApp] http://39d060383ffe:8888/?token=59b033e3c2371855a9831d762639e8980cd5926899ef4457
[I 22:17:28.288 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 22:17:28.289 NotebookApp] 
    
    Copy/paste this URL into your browser when you connect for the first time,
    to login with a token:
        http://39d060383ffe:8888/?token=59b033e3c2371855a9831d762639e8980cd5926899ef4457&token=59b033e3c2371855a9831d762639e8980cd5926899ef4457
@tylere
Copy link
Contributor Author

tylere commented Jun 20, 2018

I suspect this behavior may have been caused by #655 which bumped the notebook version to 5.5.

@tylere tylere changed the title DockerHub displays an invalid URL for accessing the hub Docker Run displays an invalid URL for accessing the image Jun 20, 2018
@minrk
Copy link
Member

minrk commented Jun 21, 2018

Closing as duplicate of #642. In general: The URL has never been valid because the container doesn't know the external port or ip. It happened to be right if you did the following:

  • run docker locally (no docker-machine, etc.)
  • forward the same port (8888:8888), never map different ports

Unfortunately, it's impossible for the container to know if either of these is the case, so the only reliable information that should be copied is the ?token=... part of the URL when the notebook is run in a container.

@minrk minrk closed this as completed Jun 21, 2018
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

No branches or pull requests

2 participants