实现WEB虚拟机控制平台(Docker+noVNC)

目标:

帮助更好的理解Docker能做什么以及掌握基础的docker脚本。

掌握各大云计算平台WEB虚拟机控制平台的基本技术实现思路。

预计完成时间:1小时。

内容:

1. 使用Docker中的Ubuntu镜像启动一个Ubuntu容器。

2. 使用noVNC技术通过WEB浏览器模拟虚拟机控制Docker中启动的Ubuntu系统。noVNC正是我们需要的 HTML5 VNC 客户端,采用 HTML 5 WebSockets, Canvas 和 JavaScript 实现,noVNC 被普遍用在各大云计算、虚拟机控制面板中,比如 OpenStack Dashboard 和 OpenNebula Sunstone 都用的是 noVNC。

前置条件:

1.Docker安装&运行第一个Hello world镜像

本案例运行在CentOS7.0的环境下,如果你的linux系统未安装Docker,请参见下面链接安装:https://docs.docker.com/engine/installation/linux/centos/

安装完成后按照上面的指导启动docker,本案例使用的是Docker CE。

2.下载noVNC

yum install git

git clone git://github.com/kanaka/noVNC


执行步骤:

Step1. 执行 ‘docker images’列出本地所有镜像。

Step2 .执行’docker search desk’从·Docker Hub中搜索带有desk的镜像。

Step3. 执行’docker pull sevnew/ubuntu-xfce-vnc-desktop-chrome’从Docker Hub中拉取或者更新最新指定的镜像,操作类似我们常用的git。

Step4. 执行‘docker run --name alex -d sevnew/ubuntu-xfce-vnc-desktop-chrome’

run表示启动一个容器,--name alex表示容器名字是alex, -d表示将容器设置为守护进程即后台运行容器。

Step5. 执行’docker exec alex ifconfig–a’表示查看网卡ip。docker exec表示访问容器内部。

Step6.执行’docker exec alex netstat–nplt’来查看vnc端口

Step7. 执行’git clone git://github.com/kanaka/noVNC’下载noVNC

Step8. 设置防火墙端口允许‘iptables -I INPUT -p tcp --dport 5000 -j ACCEPT’

Step9. 执行‘./noVNC/utils/launch.sh --listen 5000 --vnc 172.17.0.2:5900’运行noVNC

Step10. 打开网页,输入IP和端口,注意IP要替换成你主机的IP地址,端口为刚查出的5900默认密码ubuntu。

http://{host IP}:5000/vnc.html?host={host IP}&port=5000

特别注意:{host IP}为你主机的IP不是docker的IP。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转载自 http://blog.opskumu.com/docker.html 一、Docker 简介 Docke...
    极客圈阅读 13,576评论 0 120
  • 五、Docker 端口映射 无论如何,这些 ip 是基于本地系统的并且容器的端口非本地主机是访问不到的。此外,除了...
    R_X阅读 5,787评论 0 7
  • 0x01 核心概念 Docker镜像类似于虚拟机镜像,可以理解为一个面向Docker引擎的只读模板,包含了文件系统...
    闲云逸心阅读 10,201评论 0 9
  • 一、Docker 简介 Docker 两个主要部件:Docker: 开源的容器虚拟化平台Docker Hub: 用...
    R_X阅读 9,835评论 0 27
  • 是否我们出生的时候,一切资源都是分配好了的?命运都是注定好了的。也许是这样的。阶级难以逾越,但又不能否认个人奋斗的...
    吴王思贤阅读 1,722评论 0 0