Еще раз я не могу подключиться к дисплеям X11 из docker контейнеров. Вчера я обновил docker desktop (community) для windows 10 до 2.2.0.5, и теперь мои дисплеи x11 из моих контейнеров больше не подключаются. Я использую эту команду для тестирования с помощью бэкэнда tkagg в matplotlib (который я использовал все это время):
docker run -it test-docker python -c "import matplotlib.pyplot as plt; plt.plot([1], [2]); plt.show()"
, который не работает, несмотря на отображение настроек команды ENV: 0.0 , Поэтому я перепробовал все возможные комбинации
docker run -i -e DISPLAY=${host}:0.0 -t test-docker python -c "import matplotlib.pyplot as plt; plt.plot([1], [2]); plt.show()"
, где ${host}
было localhost
, `` и все ips, перечисленные в ipconfig
.
Я подтвердил, что с экземпляром XMing все в порядке, так как я могу запустить эту команду в bash в WSL, и он хорошо отрисовывается (с DISPLAY = localhost: 0.0).
Я исчерпал идей, и мне действительно нужна помощь!
Ошибка сообщения: _tkinter.TclError: couldn't connect to display ":0.0"
Я также пытался добавить --net=host -v /var/run/docker.sock:/var/run/docker.sock test-docker
(из Пересылка X11 не работает, когда изображение запускается docker machine, но работает нормально, если образ запускается без docker machine ), но безуспешно.
Мой минимальный Dockerfile (доступный в dockerhub с docker pull lucidnonsense/test-docker
):
FROM ubuntu:latest
SHELL ["/bin/bash", "-c"]
ENV LANG=C.UTF-8 LC_ALL=C.UTF-8
ENV PATH /opt/conda/bin:$PATH
ENV TINI_VERSION v0.16.1
RUN apt-get update --fix-missing && \
apt-get install -y wget bzip2 ca-certificates curl git && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
RUN wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.sh && \
/bin/bash ~/miniconda.sh -b -p /opt/conda && \
rm ~/miniconda.sh && \
/opt/conda/bin/conda clean -tipsy && \
ln -s /opt/conda/etc/profile.d/conda.sh /etc/profile.d/conda.sh && \
echo ". /opt/conda/etc/profile.d/conda.sh" >> ~/.bashrc && \
echo "conda activate base" >> ~/.bashrc
ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /usr/bin/tini
RUN chmod +x /usr/bin/tini
RUN conda install -c conda-forge galsim
RUN conda install jupyter ipython matplotlib pyyaml
RUN conda install -c astropy aplpy
ENV DISPLAY :0
ENTRYPOINT [ "/usr/bin/tini", "--" ]
CMD [ "/bin/bash" ]