建议使用以下浏览器,以获得最佳体验。 IE 9.0+以上版本 Chrome 31+ 谷歌浏览器 Firefox 30+ 火狐浏览器
温馨提示

抱歉,您需设置社区昵称后才能参与社区互动!

前往修改
我再想想

数通开发者高校联盟

话题 : 7 成员 : 21

加入HCSD

跳转机容器化方案介绍

长期飘在公... 2020/11/20 547

想必大家在利用跳转机进行解决方案开发和测试过程中都会遇到这些问题:

1、 hi,兄弟,帮我分配个跳转机

2、 谁呀,XX跳转机我在使用,不要抢占

3、 跳转机全分配完了,没有可用的了,而实际上有很多跳转机分而不用

4、 我想用跳转机来模拟用户,可没有足够的跳转机资源进行容量测试

5、 我们跳转机是WINDOWS系统,而实际交付版本配套工具是需要安装在LINUX上的,无资源进行镜像测试

……

                        image.png                       

遇到以上问题怎么办?通过学习和实践利用容器化跳转机方案将如上问题彻底解决,现就该方案跟大家做个分享,欢迎大拿们一起交流。

一、 什么是容器

容器是应用层的抽象,多个容器可以在同一台宿主机上运行,并共享操作系统资源,每个容器在用户界面是独立运行的,互相不干扰。

image.png

二、 解决方案思路介绍

面对上面的问题我想出如下三套解决思路,通过验证得出思路2最可行。相比方案1来说资源独立;相比思路3,操作简单。所以,具体实施时按照思路2展开。

image.png

   思路2中,关键难点在于自定义进行制作和容器自动化管理部分,下面就这两部分做一个介绍,其他部分如果感兴趣可以回帖方式交流

三、 自定义桌面版镜像制作

相信大家跟我一样,已经习惯了windows桌面版操作系统办公,所以我们这次目标是制作一个带有常用办公软件的桌面版镜像,为下面拉起批量容器做好准备。

桌面版镜像制作步骤:

1、 服务器基础操作系统和网络已经完成配置,这部分不再赘述。

2、 DOCKER系统安装,并设置开机自启动。

Ø  在宿主机上执行yum install docker 安装docker

Ø  在宿主机上执行systemctl enable docker.service 设置自动开启启动

3、 DockerHub上拉取支持RDP协议的桌面版基础镜像

Docker pull soff/ubuntu-xfce-vnc(该镜像支持VNC+RDP+XFCE),由于我负责的项目需要通过RDP协议登录到容器上,所以拉取上面的镜像。

备注:

根据大家需要,可以拉取不同的基础镜像如:

Docker pull dorowu/Ubuntu-desktop-lxde-vnc(该镜像支持VNC+XFCE)

4、 远程登录上容器上进行办公软件安装

image.png

5、 镜像调试

5.1先拉取容器界面管理镜像,并运用容器,可实现容器和镜像文件可视化管理。

Ø  Docker pull portainer/portainer 拉起镜像

Ø  docker run -d --name docker-admin -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer  运行镜像

Ø  http:IP+port  页面访问可视化管理工具

image.png

5.2 手工拉取基础镜像

image.png

参数说明:

Ø  --name:容器名称

Ø  -p 5903:vnc协议端口,可以通过VNC工具访问

Ø  -p 6903:novnc协议端口,可以采用HTTP://ip+6903直接访问

Ø  -p 7903:RDP协议访问端口,可以通过支持RDP协议的远程工具访问

Ø  --shm-size=256m容器内存设置

Ø  -v /etc/localtime:/etc/localtime:ro 容器时间跟宿主机同步

Ø  --restart=”on failure” 容器异常自动重启

其他参数可以执行docker run –help进行查看。

5.3远程登录,并业务验证

执行mstsc /v:IP:port远程登录容器,然后根据每个人的需要进行相关业务验证,不再叙述。

image.png

6、 确认镜像可用,通过commit命令制作可以复制的镜像

   Docker commit –a “author” test3 myimages-xfce:v1,将上面创建的容器test3作为可以复制的镜像,并重新命名为为myimages-xfce:v1,后面就可以使用该镜像进行拉起和运行。

commit语法说明:

image.png

四、 容器自动拉起和关闭流程

通过前面的介绍,相信大家已经完成了自己想要的镜像文件,如何利用镜像文件完成容器自动拉起和自动关闭呢?下面图为例,做一个简单介绍。

image.png

Ø  应用程序负责调用宿主机利用自定义镜像创建或删除容器脚本

Ø  生成的Docker可在业务中使用

Ø  用户使用VNC或RDP协议登录Docker

五、 参考学习材料汇总

https://blog.csdn.net/zhuquan945/article/details/82110245

http://www.mamicode.com/info-detail-2326734.html

https://blog.csdn.net/Rafe_ma/article/details/77838613

https://blog.csdn.net/sudaroot/article/details/89623506

https://www.jianshu.com/p/9ce0d9dac37e

https://blog.csdn.net/Blackrosetian/article/details/83036491

https://www.cnblogs.com/jameszh/p/4455405.html

https://www.cnblogs.com/jameszh/p/4455405.html

六、加入“华为数通开发者社区”

欢迎加入数通开发者社区,加入后在论坛模块可与同行大咖进行技术交流,并有机会赢得其他活动大奖,赶快扫码加入吧!!

image.png

华为数通开发者社区二维码

https://devzone.huawei.com/cn/network/portal.html


回复 (0)

没有评论
上划加载中
标签
您还可以添加5个标签
  • 没有搜索到和“关键字”相关的标签
  • 云产品
  • 解决方案
  • 技术领域
  • 通用技术
  • 平台功能
取消

长期飘在公有云上

角色:校园大使

话题:9

发消息
发表于2020年11月20日 16:35:45 5470
直达本楼层的链接
楼主
倒序浏览 只看该作者
跳转机容器化方案介绍

想必大家在利用跳转机进行解决方案开发和测试过程中都会遇到这些问题:

1、 hi,兄弟,帮我分配个跳转机

2、 谁呀,XX跳转机我在使用,不要抢占

3、 跳转机全分配完了,没有可用的了,而实际上有很多跳转机分而不用

4、 我想用跳转机来模拟用户,可没有足够的跳转机资源进行容量测试

5、 我们跳转机是WINDOWS系统,而实际交付版本配套工具是需要安装在LINUX上的,无资源进行镜像测试

……

                        image.png                       

遇到以上问题怎么办?通过学习和实践利用容器化跳转机方案将如上问题彻底解决,现就该方案跟大家做个分享,欢迎大拿们一起交流。

一、 什么是容器

容器是应用层的抽象,多个容器可以在同一台宿主机上运行,并共享操作系统资源,每个容器在用户界面是独立运行的,互相不干扰。

image.png

二、 解决方案思路介绍

面对上面的问题我想出如下三套解决思路,通过验证得出思路2最可行。相比方案1来说资源独立;相比思路3,操作简单。所以,具体实施时按照思路2展开。

image.png

   思路2中,关键难点在于自定义进行制作和容器自动化管理部分,下面就这两部分做一个介绍,其他部分如果感兴趣可以回帖方式交流

三、 自定义桌面版镜像制作

相信大家跟我一样,已经习惯了windows桌面版操作系统办公,所以我们这次目标是制作一个带有常用办公软件的桌面版镜像,为下面拉起批量容器做好准备。

桌面版镜像制作步骤:

1、 服务器基础操作系统和网络已经完成配置,这部分不再赘述。

2、 DOCKER系统安装,并设置开机自启动。

Ø  在宿主机上执行yum install docker 安装docker

Ø  在宿主机上执行systemctl enable docker.service 设置自动开启启动

3、 DockerHub上拉取支持RDP协议的桌面版基础镜像

Docker pull soff/ubuntu-xfce-vnc(该镜像支持VNC+RDP+XFCE),由于我负责的项目需要通过RDP协议登录到容器上,所以拉取上面的镜像。

备注:

根据大家需要,可以拉取不同的基础镜像如:

Docker pull dorowu/Ubuntu-desktop-lxde-vnc(该镜像支持VNC+XFCE)

4、 远程登录上容器上进行办公软件安装

image.png

5、 镜像调试

5.1先拉取容器界面管理镜像,并运用容器,可实现容器和镜像文件可视化管理。

Ø  Docker pull portainer/portainer 拉起镜像

Ø  docker run -d --name docker-admin -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer  运行镜像

Ø  http:IP+port  页面访问可视化管理工具

image.png

5.2 手工拉取基础镜像

image.png

参数说明:

Ø  --name:容器名称

Ø  -p 5903:vnc协议端口,可以通过VNC工具访问

Ø  -p 6903:novnc协议端口,可以采用HTTP://ip+6903直接访问

Ø  -p 7903:RDP协议访问端口,可以通过支持RDP协议的远程工具访问

Ø  --shm-size=256m容器内存设置

Ø  -v /etc/localtime:/etc/localtime:ro 容器时间跟宿主机同步

Ø  --restart=”on failure” 容器异常自动重启

其他参数可以执行docker run –help进行查看。

5.3远程登录,并业务验证

执行mstsc /v:IP:port远程登录容器,然后根据每个人的需要进行相关业务验证,不再叙述。

image.png

6、 确认镜像可用,通过commit命令制作可以复制的镜像

   Docker commit –a “author” test3 myimages-xfce:v1,将上面创建的容器test3作为可以复制的镜像,并重新命名为为myimages-xfce:v1,后面就可以使用该镜像进行拉起和运行。

commit语法说明:

image.png

四、 容器自动拉起和关闭流程

通过前面的介绍,相信大家已经完成了自己想要的镜像文件,如何利用镜像文件完成容器自动拉起和自动关闭呢?下面图为例,做一个简单介绍。

image.png

Ø  应用程序负责调用宿主机利用自定义镜像创建或删除容器脚本

Ø  生成的Docker可在业务中使用

Ø  用户使用VNC或RDP协议登录Docker

五、 参考学习材料汇总

https://blog.csdn.net/zhuquan945/article/details/82110245

http://www.mamicode.com/info-detail-2326734.html

https://blog.csdn.net/Rafe_ma/article/details/77838613

https://blog.csdn.net/sudaroot/article/details/89623506

https://www.jianshu.com/p/9ce0d9dac37e

https://blog.csdn.net/Blackrosetian/article/details/83036491

https://www.cnblogs.com/jameszh/p/4455405.html

https://www.cnblogs.com/jameszh/p/4455405.html

六、加入“华为数通开发者社区”

欢迎加入数通开发者社区,加入后在论坛模块可与同行大咖进行技术交流,并有机会赢得其他活动大奖,赶快扫码加入吧!!

image.png

华为数通开发者社区二维码

https://devzone.huawei.com/cn/network/portal.html


点赞 举报
分享

分享文章到朋友圈

分享文章到微博

游客

您需要登录后才可以回帖 登录 | 立即注册