活跃在Docker世界的妹子们


出乎我们的意料,“Docker巨好玩”竞赛得到了两位妹子的热情参与,并且妹子的作品提交率达到了100%。妹子们是怎么开始玩Docker的呢?是因为萌萌的吉祥物吗?Docker带来的简捷性,是不是能够对这个阳盛阴衰的行业带来些改变?带着这些问题,我们采访了这两位美女参赛者。

黄雅楠是一位测试工程师,她喜欢学习新的技术,相比OpenStack和KVM来说,Docker对硬件的要求不高,很容易上手。程序媛比程序猿们更追求简洁,相信会有更多的妹子走进Docker的世界。

Alauda:您是如何开始Docker实践的?Docker为您带来了哪些便利?

黄雅楠:我是具有五年工作经验的软件测试工程师,五年的工作经验下来,对所做的工作已经非常熟悉,急需学习新技术来提高工作热情和工作效率。众所周知,虚拟化是目前的技术趋势,无论是Openstack、KVM,还是Docker,都是技术热点。但是Openstack和KVM的技术起点比较高,需要很广泛的技术背景,而且Openstack和KVM对硬件要求较高,亲自实践的门槛比较多。Docker作为轻量级的虚拟化解决方案,只需安装Docker的软件包,并且运行简单的命令就可以体验Docker。Docker可以帮我解决软件安装的繁杂问题,比如说我最近在学习Python编程,需要一套可以运行python的环境,这样我从Docker Hub直接下载一个Python的镜像就可以运行Docker然后进行编程练习。

Alauda:本次参赛作品的主题是什么?为什么选择这个主题?

黄雅楠:本次参赛作品是基于OpenSUSE的Python开发环境的镜像,虽然Docker Hub上已经有很多Python开发环境的镜像,但是我没有找到关于SUSE的Python镜像。选择这个镜像还因为公司服务器的Linux发行版本使用的是SUSE,创建一个基于SUSE的Python开发镜像的话,便于处理Python开发过程遇到的与SUSE操作系统的兼容性问题。

Alauda:您在构建镜像的过程中遇到了哪些问题?是如何解决的?

黄雅楠:构建镜像的过程中我系统地学习了一下Docker的知识,这次比赛很好地促进了我学习Docker的知识,在选择作品主题的时候,曾经考虑过创建iptables的环境镜像,我安装了iptables所需要的各种库文件及软件包,运行iptables总是遇到“没有根用户访问权限”的问题。研究之后发现,Docker虽然可以提供软件的可移植性,但不是所有软件都适合用来移植,比如说iptables作为Linux防火墙的解决方案,它与操作系统内核密切相关,而Docker使用的其实是主操作系统的内核,没有独立的内核,所以对一些与内核紧密相关的操作Docker是无法执行的,这也算是Docker的一个限制吧。

Alauda:您在使用AlaudaCloud过程中有哪些心得?

黄雅楠:AlaudaCloud是个不错的平台,听说了左玥CEO的创业故事,不错的开始!作为一名程序媛,Docker也许可以帮我简化繁杂的测试工作。

相信运维人员是最能体会Docker带来的好处的,崔艳就是一名做过运维的开发,下面来看看她是怎么说的吧。

Alauda:首先请您自我介绍一下

崔艳:崔艳,女,3年工作经验,北京交通大学在职研究生在读。目前就职于一家创业公司,从事医疗养老方向软件开发工作。主要开发语言是JAVA,兼职运维和版本管理员。

Alauda:您是如何开始Docker实践的?Docker为您带来了哪些便利?

崔艳:开始Docker实践源于老师布置的一次实践课作业,web项目。作业要求提交项目源码。因提交的项目,需要各种运行环境,与同学讨论,可将作业做成镜像给老师。老师拿到镜像后,可通过本地浏览器直接访问,也可进入镜像查看源码。

在工作中,因为兼职公司运维工作,经常需要去搭建一些环境,经常会因为软件版本差异,安装编译软件时,参数不同出一些问题。还遇到过断电后,虚拟机无法启动的问题,虚拟机内部署项目无法访问的问题。目前正在公司内引进Docker,正在测试阶段。

带来的好处:
  1. 在服务器上快速部署测试环境,保证测试环境的有一致性;
  2. 将演示系统做成镜像,保存后,遇到问题,能快速重新部署;


Alauda:本次参赛作品的主题是什么?为什么选择这个主题?

崔艳:本次参赛作品的主题是:基于solr的全文检索搜索引擎Docker镜像。我在做solr中国社区的开源工作。经常遇到一些新人问solr环境的搭建,正好借云雀的这次活动,搭建一个solr的环境。一来搭建一个入门级solr环境,方便初学者学习,二来更好的学习一下Docker,在工作中进行应用。

Alauda:您在构建镜像的过程中遇到了哪些问题?是如何解决的?

崔艳:首先是文件拷贝问题。使用交互模式,启动image,进入container之后,需要将宿主机内的文件,拷贝到Container中。

当时光想着什么磁盘挂载了之类高大上的操作,各种研究之后,还是没有研究明白。后来在宿主机里面起了一个tomcat,把文件放到里面,在Container里面使用wget下载。后来测试,用scp就可以的。

然后是使用交互模式,启动Container,退出后,再次进入。

这是一个悲伤的故事。从Alauda上面pull了Ubuntu的镜像,run之后,就开心的玩了起来。把需要的环境一股脑的都搭建了起来。测试了一下正常使用,就exit了。第二天,想在进去修改一下,使用同样的方式run之后,发现里面是空空的。partner说,要我commit。其实也不太理解这个commit是什么意思。进到containner里面什么都看不见,commit之后难倒就能看见了吗。各种百度,google之后,使用docker ps -a这个命令,发现我这里有很多的container,瞬间大彻大悟了。原来我每次run的都是一个新的。现在的作品镜像partner做了base image,我在base image基础上,部署了solr相关内容。镜像完成之后,commit到提交到Alauda上就比较顺利了,按照这篇博客中的命令,操作就好了。

Alauda:您在使用AlaudaCloud过程中有哪些心得?

崔艳:作为一个码农,对服务器啊这些高大上的东西,真心不太懂。目前只用过阿里云,不知道云雀云和阿里云是否是相同性质的ʅ(‾◡◝)ʃ(是的,只是实现方式上不同)

按照我目前的理解,AlaudaCloud提供了两种镜像构建的方式。一种是自己做好镜像,传上去。一中是通过dockerFile,从代码仓库里面自动构建。两种方式都试了一下,觉得都不错。祝福云雀越做越好(●′ω`●)

0 个评论

要回复文章请先登录注册