Dockerfile实现客户端通过网页访问容器的桌面和伪终端,主要的工具是guacamole

Posted 挨踢

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Dockerfile实现客户端通过网页访问容器的桌面和伪终端,主要的工具是guacamole相关的知识,希望对你有一定的参考价值。

  Dockerfile实现客户端通过网页访问容器的桌面和伪终端,主要的工具是guacamole。

  首先来介绍guacamole,Guacamole是一种基于html5和AJAX技术的vnc客户端,有了它就可以直接通过web浏览器,快速访问vnc server上的Xwindows系统界面了。优酷上有一段关于Guacamole的视频演示在http://v.youku.com/v_show/id_XMTg4ODgwNDg0.html

  git上dockerfile代码:http://git.oschina.net/wangyufu/docker_guacamole

  分为三个Dockerfile,执行的顺序:

  1. ubuntu-xfce-vnc-desktop 基础镜像是Ubuntu15.04
  2. jdk-tomcat 基础镜像是ubuntu-xfce-vnc-desktop
  3. guacamole 基础镜像是jdk-tomcat

  第一个Dockerfile是安装基础镜像和一些桌面环境,第二个Dockerfile是基于ubuntu-xfce-vnc-desktop的镜像安装jdk和tomcat,因为guacamole需要java的环境支持,下面的就是安装guacamole。所以每个Dockerfile的代码中FROM需要自己改一下。

  web显示桌面的分辨率需要先再ubuntu-xfce-vnc-desktop/supervisord.conf中的 command=/usr/bin/Xvfb :1 -screen 0 1280x720x16    #修改合适的分辨率

  ssh的登录用户名,guacamole/startup.sh 修改创建的用户名和密码,guacamole/user-mapping.xml 修改为创建后的用户名和密码。

  所有都完成后就可以登录了,启动容器,访问服务启动的地址和映射到容器的8080端口加路径为/guacamole

  

  登入后进入管理界面:


  选择ssh:

 

  

  选择vnc:

 

  

  在安装guacamole遇到的问题:

  问题:启动tomcat时,日志报Invalid or unreadable WAR file : error in opening zip file

  解决:安装zip的包

  

  问题:启动tomcat时,日志报No guacamole.properties file found within GUACAMOLE_HOME or the classpath. 

  解决:创建一个新的用户家目录为tomcat的程序的目录并赋权限,在/etc/profile 下添加GUACAMOLE_HOME的变量并刷新。

以上是关于Dockerfile实现客户端通过网页访问容器的桌面和伪终端,主要的工具是guacamole的主要内容,如果未能解决你的问题,请参考以下文章

第2次系统综合实践

Docker-数据卷以直接命令和Dockerfile的形式添加,数据卷容器的概念及容器间继承实现

docker容器内怎么连接外部的mysql

转 dockerfile 介绍 及 编写

[Docker]Dockerfile定制容器

通过 nginx 或 traefik 通过 html 网页访问 docker 容器 websocket?