#python-3.x #docker #jupyter-lab #novnc
#python-3.x #докер #jupyter-lab #novnc
Вопрос:
Я создал ниже dockerfile и добавил novnc и websockify в соответствии с их документацией. После запуска docker я мог видеть страницу подключения в браузере после копирования и вставки URL-адреса, который выводится novnc_proxy
скриптом внутри точки входа docker.
Однако, как только я попытался нажать «Подключиться», он выдает сообщение об ошибке failed to connect the server
. Кто-нибудь знает, как исправить эту ошибку? или есть какая-то конфигурация, которую я пропускаю для запуска VNC?
Dockerfile
FROM python:3.8.0
ENV DISPLAY :1
RUN git clone --depth=1 https://github.com/Bash-it/bash-it.git ~/.bash_it amp;amp;
bash ~/.bash_it/install.sh --silent
RUN curl -sL https://deb.nodesource.com/setup_12.x | bash - amp;amp;
apt-get upgrade -y amp;amp;
apt-get install -y nodejs
supervisor
openssl
xvfb
x11vnc
openbox amp;amp; apt-get clean amp;amp;
rm -rf /var/lib/apt/lists/*
RUN pip install --upgrade pip amp;amp;
pip install --upgrade
PyVirtualDisplay
pillow
numpy
pandas
dash
Jupyterlab
ipywidgets
jupyterlab-git
jupyter-server-proxy
jupyter-dash
jupyterlab-novnc
nbserverproxy
RUN jupyter lab build
# RUN pip install --upgrade pip amp;amp;
# pip install --upgrade
# jupyterlab "pywidgets>=7.5"
RUN jupyter serverextension enable --py nbserverproxy
RUN jupyter labextension install
jupyterlab-plotly@4.14.3
@jupyter-widgets/jupyterlab-manager
@jupyterlab/git
@jupyterlab/server-proxy
COPY config/ /root/.jupyter/
VOLUME /notebooks
WORKDIR /notebooks
RUN git clone https://github.com/novnc/noVNC.git ./novnc amp;amp;
git clone https://github.com/novnc/websockify.git ./novnc/utils/websockify
COPY entrypoint.sh .
RUN chmod -R 755 /notebooks/
EXPOSE 8888 8050 5901 6080 8081
ENTRYPOINT ["/notebooks/entrypoint.sh"]
entrypoint.sh
echo
jupyter lab --allow-root --ip=* --port=8888 amp;
/notebooks/novnc/utils/novnc_proxy --vnc localhost:5901 --listen 6080
fg %1
Я создаю образ docker и запускаю образ docker
docker run -it -p 8888:8888 -p 8050:8050 -p 5901:5901 -p 6080:6080 <ImageName>
O / p этого запуска docker выглядит следующим образом:
и вместо URL-адреса, отображаемого в выводе std, если я пытаюсь войти http://localhost:6080/vnc.html?host=localhostamp;port=6080
в систему, он показывает мне браузер входа в систему, но как только я нажимаю на connect, он показывает failed to connect the server
и журнал докеров показывает мне
Внутри контейнера я мог видеть websockify
, что служба запущена
Я подозреваю, что это из-за проблемы с подключением к websocket, но не знаю, что здесь нужно сделать.
Комментарии:
1. Исправлена проблема: я не уверен, что это проблема внутри контейнера, в котором я запускал x11vnc, но как только я изменил его на просто vncserver …. все просто начало работать нормально.
2. change198 можете ли вы опубликовать файл Dockerfile, который работал, пожалуйста … или местоположение github, если оно у вас есть. С уважением.