• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >云计算 > 基于 ssh + Xpra 构建 Docker 桌面系统,xpradocker

基于 ssh + Xpra 构建 Docker 桌面系统,xpradocker

作者:网友 字体:[增加 减小] 来源:互联网

本文主要包含xpra,docker ssh,docker ubuntu ssh,docker centos ssh,docker 安装ssh等服务器相关知识,网友希望可以进行参考

基于 ssh + Xpra 构建 Docker 桌面系统,xpradocker


by Falcon of TinyLab.org
2015/05/01

Docker 桌面系统

初识 Docker,发现大部分文章都只是介绍非 GUI 的应用。想到蛮多场景需要图形化界面,所以搜罗了一下 Docker 镜像:

$ sudo docker search desktop
NAME                                    DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
dorowu/ubuntu-desktop-lxde-vnc          Ubuntu with openssh-server and NoVNC on po...   12                   [OK]
rogaha/docker-desktop                   Docker Desktop enables you to create 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

$ sudo docker pull rogaha/docker-desktop

启动容器

$ CONTAINER_ID=$(sudo docker run -d -p 2222:22 rogaha/docker-desktop)

注:-p 2222:22 把容器内的 Ssh 端口地址 22 映射到主机的 2222 端口。

获取登陆密码

$ echo $(sudo docker logs $CONTAINER_ID | sed -n 1p)
User: docker Password: aefieSahk2ci

密码为 Password 后面的字符串。

注:该镜像通过 pwgen 随机产生了一个登陆密码,见 startup.sh。

连接桌面服务

通过 Ssh 启动一个 Xpra 会话

执行如下命令并输入上述密码即可:

$ ssh docker@192.168.56.102 -p 2222 "sh -c './docker-desktop -s 800x600 -d 10 > /dev/null 2>&1 &'"

注:

  • -p 2222 连上 docker 那边的 ssh 服务
  • -s 800x600 设置桌面的分辨率
  • -d 10 设置显示服务会话编号

通过 Xpra Attach 上述会话

这里会真正拉起图形界面。

$ xpra --ssh="ssh -p 2222" attach ssh:docker@0.0.0.0:10

注意事项

有其他文章介绍上述两步可直接通过如下命令加载:

ssh -Yc blowfish docker@0.0.0.0 -p 2222 ./docker-desktop -s 800x600 -d 11

但实际上已经无法工作,会出现如下错误然后自动退出。

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。

启动效果

Docker Desktop with Ssh + Xpra

自主构建

可直接拉下该镜像的 Dockerfile 和相关文件,自主构建。甚至根据自身需求,调整 Dockerfile 后再构建,以便满足实际需求。

$ git clone https://github.com/rogaha/docker-desktop.git
$ cd docker-desktop
$ docker build -t tinylab/docker-desktop .

参考资料

  • rogaha/docker-desktop

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 基于 ssh + Xpra 构建 Docker 桌面系统,xpradocker

相关文章

  • Spark下的PageRank实现,SparkPageRank实现
  • MapReduce的两表join操作优化,mapreduce表join
  • 安装openstack 时 遇见的一些问题及解决方法!,openstack一些问题
  • 使用export/import导出和导入docker容器,exportdocker
  • openstack 用nova API 指定 compute node 创建 instance,openstackcompute
  • NOSQL(二)聚合数据模型,nosql聚合数据模型
  • HBase数据导入的几种操作,hbase数据导入几种
  • 启动Hive的时候有很多WARN和INFO信息,hivewarninfo信息
  • H3C config vlan access and trunk links,h3ctrunk
  • spark一些入门资料,spark入门资料

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • Spark学习笔记之浅释,spark学习笔记
    • Storm计算结果是如何存放的,Storm计算结果存放
    • spark_RDD数据操作
    • Spark源码分析之worker节点启动driver和executor
    • openstack中Nova组件images的所有python API 汇总,openstacknova
    • 上传到dfs和hadoop统计计算
    • LinkedIn Cubert 实践指南,linkedincubert
    • HBase数据导入的几种操作,hbase数据导入几种
    • Andrew Ng Machine Learning,andrewlearning
    • hive复杂类型访问操作,hive访问

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有