如何在mac OSX下的Docker里运行Linux桌面程序

在Docker里运行Linux的GUI程序,有两种方案,一个是依赖X11 forwarding,一个是使用novnc,这里介绍的是第一种情况

    • 安装 brew
      ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    • 安装 、运行socat
      brew install socat
      socat TCP-LISTEN:6000,reuseaddr,fork UNIX-CLIENT:\"$DISPLAY\"
      
    • 拉取镜像
      docker pull alitrack/firefox
      
    • 运行
      docker run --rm -e DISPLAY=$DISPLAY  \
      -i -t -v ${HOME}:/home/${USER} \
      -v /tmp/.X11-unix:/tmp/.X11-unix \
      alitrack/firefox firefox

       

screen-shot-2016-10-07-at-3-17-23-pm

references,