2016-07-31 2 views
5

Docker for Mac 1.12 (stable)과 OS X 10.11.5 (15F34)를 사용하여 컨테이너 중 하나를 X11로 전달하려고합니다.Mac 용 도커를 X11으로 전달하는 방법?

첫째, 내 bash 쉘에서 XQuartz를 설치 : 나는 XQuartz을 설정 계속 그런

$ brew cask install xquartz 

==> Downloading https://dl.bintray.com/xquartz/downloads/XQuartz-2.7.9.dmg 
######################################################################## 100.0% 
==> Verifying checksum for Cask xquartz 
==> Running installer for xquartz; your password may be necessary. 
==> Package installers may write to any location; options such as --appdir are ignored. 
Password: 
==> installer: Package name is XQuartz 2.7.9 
==> installer: Installing at base path/
==> installer: The install was successful. 
    xquartz staged at '/usr/local/Caskroom/xquartz/2.7.9' (73M) 

... XQuartz 환경 설정에서

open -a XQuartz 

-> 보안 탭, 나는 "가능 네트워크 클라이언트에서 연결 허용 "을 선택하십시오. 그런 다음

내가 내 bash 쉘에서 xhost + $MY_IP_ADDRESS을 실행하는데,하지만 난 얻을 모두가이 오류가 오전 : 결국

xhost: unable to open display "" 

, 내가 읽고 있어요 모든 가이드는이 같은 내 컨테이너를 실행해야합니다 말한다 :

docker run -e DISPLAY=$MY_IP_ADDRESS:0 -v /tmp/.X11-unix:/tmp/.X11-unix DOCKER_IMAGE 

...하지만 작동하지 않습니다. 내 컨테이너에서 다음 오류가 발생합니다.

... cannot connect to X server 10.0.0.131:0 

내가 뭘 잘못하고 있니?

답변

2

XQuartz 2.7.9에는 버그가 있습니다.

XQuartz 2.7.10_beta2를 사용하는 경우 작동합니다.

+0

2.7.11에서도 동일한 문제가있었습니다. 제거한 후 2.7.10_beta2로 다운 그레이드하면 모든 것이 마침내 작동합니다. 방금 로그 아웃하는 대신 다시 시작해야만했습니다. 그리고 일이 시작되었습니다. – revolutionary

+0

나는 이것과 함께 허커버 시간을 보냈습니다 ... 다운 그레이드 등의 문제는 단순한 재부팅이었습니다. MacOS 10.13.3에서 Docker CE 버전 17.12.0을 사용하여 XQuartz 2.7.11에서 완벽하게 실행됩니다. –

1

Mac OS에 xquartz 2.7.11이 설치되어 있습니다.

도커 컨테이너 실행을 시도 할 때 다음 오류가 발생했습니다. <program>: cannot connect to X server <ip>:0 . XQuartz의 다운 그레이드를 시도했지만 여전히 문제는 해결되지 않았습니다.

설정에 중요한 부분은 xhost에 대한 IP 액세스 제어 목록을 추가하는 것입니다.

xhost + $(ipconfig getifaddr en0)

xhost를 위해 IP를 추가 한 후, 모든 작동합니다. Xquartz 버전을 다운 그레이드 할 필요가 없습니다.

+0

2.7.11이 나를 위해 작동하지 않았습니다 (macOS Sierra 10.12.4 + Docker CE 17.03.1). 작동하게하려면 2.7.10_beta2로 다운 그레이드해야했습니다. – Coyotwill