У меня есть докер-контейнер, основанный на debian, и он работает, когда я запускаю его, как,
“docker run -ti --name devworkstation --rm --net=host -v /var/run/docker.sock:/var/run/docker.sock -e DISPLAY=$env:DISPLAY xxxx/xxxx:devworkstation”
Под работами я имею в виду, что появляется командная строка bash, и когда я запускаю xeyes, я вижуокно на моем компьютере Windows 10, как я ожидаю.(Переадресация x11 работает.)
($ env: DISPLAY = «myWinIP: 0.0»)
Затем я создал новый внешний виртуальный коммутатор с именем «dockerExternalSwitch» и док-машину с«Docker-machine create -d hyperv --hyperv-virtual-switch dockerExternalSwitch dev1»
Я настроил свою среду в соответствии с docker-machine env dev1.Затем я запускаю ту же команду запуска докера, что и выше, на компьютере докера.Он вызывает мою командную строку, как я ожидал, но когда я запускаю xeyes, я получаю сообщение об ошибке:
Ошибка: невозможно открыть дисплей: xxx.xxx.xxx.xxx:0.0
У меня также установлен Firefox на образ Debian.Появляется аналогичная ошибка: Невозможно инициализировать сервер: Тип отображения Broadway не поддерживается: xxx.xx.xx.xxx:0.0 Ошибка: невозможно открыть дисплей: xxx.xxx.xxx.xxx:0.0
Поскольку он работаеткогда я запускаю его напрямую (без док-машины) и происходит сбой при использовании док-машины, мне интересно, связано ли это с сетью.
Содержимое Dockerfile:
from debian:9.5
RUN apt-get update
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y firefox-esr
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y vim git curl
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y build-essential
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y gdb valgrind
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y qt4-default
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y dos2unix tcpdump netcat
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y apt-utils
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y linux-image-rt-amd64
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y task-mate-desktop
RUN env
CMD /bin/bash
Iпробовал все предложения по пересылке x11, которые я мог найти в интернете.И я искал переполнение стека для предложений.Я не нашел решения, и оно, похоже, связано с докером.Будем очень благодарны за любые предложения о том, что я мог бы попробовать.
(К вашему сведению, я работаю с докером, потому что у меня есть пример кода, который подключается к сетевой камере, которая работает как докер.машина, но не когда я работаю без докера.)