共计 2521 个字符,预计需要花费 7 分钟才能阅读完成。
Docker 桌面系统
初识 Docker,发现大部分文章都只是介绍非 GUI 的应用。想到蛮多场景需要图形化界面,所以搜罗了一下 Docker 镜像:
1 2 3 4 | $sudo docker search desktop NAME DESCRIPTION STARS OFFICIAL AUTOMATED dorowu/Ubuntu–desktop–lxde–vnc Ubuntu with openssh–server andNoVNC on po... 12 [OK] rogaha/docker–desktop Docker Desktop enables you tocreate virtu... 10 [OK] |
发现前两名分别是:
- dorowu/ubuntu-desktop-lxde-vnc:基于 VNCServer + noVNC 项目
- rogaha/docker-desktop:基于 Ssh + Xpra 项目
初步试用后发现两者都非常 Cool,一个基于 Web,一个基于传统的图形界面。笔者将写两篇文章分别介绍它们,首先介绍第二个。
Xpra 初识
Xpra is‘screen for X’, and more: it allows you to run X programs, usually on a remote host and direct their display to your local machine. It also allows you to display existing desktop sessions remotely.
Xpra is“rootless”or“seamless”, and sessions can be accessed over SSH, or password protected and encrypted over plain TCP sockets.
安装镜像:rogaha/docker-desktop
1 | $sudo docker pull rogaha/docker–desktop |
启动容器
1 | $CONTAINER_ID=$(sudo docker run–d–p2222:22rogaha/docker–desktop) |
注 :-p 2222:22
把容器内的 Ssh 端口地址 22 映射到主机的 2222 端口。
获取登陆密码
1 2 | $echo$(sudo docker logs$CONTAINER_ID|sed–n1p) User:docker Password:aefieSahk2ci |
密码为 Password
后面的字符串。
注 :该镜像通过 pwgen
随机产生了一个登陆密码,见 startup.sh。
连接桌面服务
通过 Ssh 启动一个 Xpra 会话
执行如下命令并输入上述密码即可:
1 | $ssh docker@192.168.56.102–p2222“sh -c ‘./docker-desktop -s 800×600 -d 10 > /dev/null 2>&1 &'” |
注 :
-p 2222
连上 docker 那边的 ssh 服务-s 800x600
设置桌面的分辨率-d 10
设置显示服务会话编号
通过 Xpra Attach 上述会话
这里会真正拉起图形界面。
1 | $xpra—ssh=“ssh -p 2222”attach ssh:docker@0.0.0.0:10 |
注意事项
有其他文章介绍上述两步可直接通过如下命令加载:
1 | ssh–Yc blowfish docker@0.0.0.0–p2222./docker–desktop–s800×600–d11 |
但实际上已经无法工作,会出现如下错误然后自动退出。
Entering daemon mode; any further errors will be reported to:
/home/docker/.xpra/:11.log
通过搜索,发现该镜像作者已经告知必须采用两步操作才能正常工作,具体见:Error after login: connection failed: [Errno 2] No such file or directory。
启动效果
自主构建
可直接拉下该镜像的 Dockerfile 和相关文件,自主构建。甚至根据自身需求,调整 Dockerfile 后再构建,以便满足实际需求。
1 2 3 | $git clonehttps://github.com/rogaha/docker-desktop.git $cd docker–desktop $docker build–ttinylab/docker–desktop. |
参考资料
- rogaha/docker-desktop
Ubuntu 15.04 下安装 Docker http://www.linuxidc.com/Linux/2015-07/120444.htm
配置 Docker 镜像下载的本地 mirror 服务 http://www.linuxidc.com/Linux/2015-07/120061.htm
Docker 安装应用 (CentOS 6.5_x64) http://www.linuxidc.com/Linux/2014-07/104595.htm
在 Docker 中使用 MySQL http://www.linuxidc.com/Linux/2014-01/95354.htm
在 Ubuntu Trusty 14.04 (LTS) (64-bit) 安装 Docker http://www.linuxidc.com/Linux/2014-10/108184.htm
Docker 安装应用 (CentOS 6.5_x64) http://www.linuxidc.com/Linux/2014-07/104595.htm
Ubuntu 14.04 安装 Docker http://www.linuxidc.com/linux/2014-08/105656.htm
阿里云 CentOS 6.5 模板上安装 Docker http://www.linuxidc.com/Linux/2014-11/109107.htm
Docker 的详细介绍 :请点这里
Docker 的下载地址 :请点这里
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2015-08/121171.htm