簡體   English   中英

使用MacBookPro主機在docker容器上運行GUI應用程序

[英]Running GUI apps on docker container with a MacBookPro host

我一直在嘗試按照https://learning-continuous-deployment.github.io/docker/images/dockerfile/2015/04/22/docker-gui-osx/上關於在Docker容器中運行GUI應用程序的說明進行操作MacBookPro主機(使用Docker工具)。

我使用Fedora 23創建了一個簡單的docker容器並安裝了firefox。

我嘗試運行firefox,大約一分鍾后,我收到以下錯誤:

Unable to init server: Broadway display type not supported: 192.168.57.3:0
Error: cannot open display: 192.168.57.3:0

有沒有人知道錯誤意味着什么和/或如何解決它?

在Mac上,您可能會發現以下步驟非常有用:

  1. 安裝XQuartz
  2. 打開它,轉到首選項>安全性並選中允許來自網絡客戶端的連接的選項
  3. 重啟
  4. 啟動XQuartz(從應用程序文件夾或open -a XQuartz
  5. 允許來自ip的傳入連接使用xhost + $IP (參見注釋1)
  6. 在docker容器中運行firefox(參見注釋2)

注1 :這是一個巧妙的技巧來獲取你的IP地址:

export IP=$(ifconfig en0 | grep inet | awk '$1=="inet" {print $2}') 

注意2 :一個示例docker run命令啟動firefox

docker run -it -e DISPLAY=$IP:0 -v /tmp/.X11-unix:/tmp/.X11-unix <image> firefox

重新啟動我的筆記本電腦為我解決了問題。

我看到同樣的錯誤,不幸的是重新啟動並沒有為我解決問題。 但是,我能夠通過掛載並指向我的本地.Xauthority文件來實現它:

IP=$(ifconfig en0 | grep inet | awk '$1=="inet" {print $2}')
docker run --rm  --name firefox -e DISPLAY=$IP:0 -e XAUTHORITY=/.Xauthority --net host -v /tmp/.X11-unix:/tmp/.X11-unix -v ~/.Xauthority:/.Xauthority  jess/firefox

當然,這假設您的XQuarts / xhost內容已根據此答案正確配置

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM