distributed: Dashboard missing when starting in a Docker container
For some reason, starting distributed in a Docker container results in the bokeh-based dashboard being unavailable. This is when the correct port (8787) is forwarded from the container. Have also verified that the Bokeh dashboard is running on that port in the container. Strangely the same issue does not occur when using dask-drmaa or when using distributed outside of a Docker container.
Example:
>>> import distributed
>>> cluster = distributed.LocalCluster()
>>> client = distributed.Client(cluster)
Environment:
name: test
channels:
- conda-forge
- defaults
dependencies:
- blas=1.1=openblas
- bokeh=0.12.14=py36_1
- ca-certificates=2018.1.18=0
- certifi=2018.1.18=py36_0
- click=6.7=py_1
- cloudpickle=0.5.2=py_0
- cytoolz=0.9.0.1=py36_0
- dask-core=0.17.2=py_0
- distributed=1.21.4=py36_0
- heapdict=1.0.0=py36_0
- jinja2=2.10=py36_0
- markupsafe=1.0=py36_0
- msgpack-python=0.5.6=py36_0
- ncurses=5.9=10
- numpy=1.14.2=py36_blas_openblas_200
- openblas=0.2.20=7
- openssl=1.0.2n=0
- packaging=17.1=py_0
- pip=9.0.1=py36_1
- psutil=5.4.3=py36_0
- pyparsing=2.2.0=py36_0
- python=3.6.5=0
- python-dateutil=2.7.2=py_0
- pyyaml=3.12=py36_1
- readline=7.0=0
- setuptools=39.0.1=py36_0
- six=1.11.0=py36_1
- sortedcontainers=1.5.9=py36_0
- sqlite=3.20.1=2
- tblib=1.3.2=py36_0
- tk=8.6.7=0
- toolz=0.9.0=py_0
- tornado=5.0.1=py36_1
- wheel=0.30.0=py36_2
- xz=5.2.3=0
- yaml=0.1.7=0
- zict=0.1.3=py_0
- zlib=1.2.11=0
- libgfortran=3.0.0=1
Using macOS 10.11 with Docker for Mac 18.03.0-ce-mac58 (23607) from the Edge channel. Also used the condaforge/linux-anvil image as a base image with digest sha256:e4dbddbf5c1d1e5143b003608c2a29e6437cdbdb6c4b748cd09fee35f63ab8b3. Though expect any minimal Docker image with a copy of Miniconda to do the install would also work.
About this issue
- Original URL
- State: open
- Created 6 years ago
- Comments: 21 (21 by maintainers)
Alright, have narrowed it down. Here is the difference.
Fail:
Success:
As the
ipoutside of the container doesn’t match the one inside the container, this makes sense.Not sure that we should change the behavior, but maybe documenting this particular case would be worthwhile (assuming there are not already docs I missed on this 😃.