来啃啃docker这个饼

folder_open
comment没有评论

说起来,距离docker横空出世(2013年)已经有好几年了,博主我也是老早就想研究研究了,可惜一直没来得及摸一摸,直到前几天亲自尝试了一下,才发现这玩意还真好玩。

一、什么是docker?

用百度上面的话来说:“Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。”

简单点来讲就是一个轻量级的虚拟机,以linux内核作为基础,往下一层一层地拓展内容。

打个比方:(括号里的东西没有任何意义仅作为帮助理解的存在)

  • 假如你捡到了一个鼠标垫(基础容器),你想给你的鼠标垫配一台个鼠标。这个鼠标可以是飞燕·双(debian)的,可以是罗技(alpine)的,也可以是微软(fedora)的……
    • 有了鼠标(fedora)以后,就得找个地方把它插上去。可以选择把它插在一个台式机(ruby)上,可以选择把它插到笔记本电脑(java)上,当然也可以插到树梅派(.net core)上……
      • 假如选择了笔记本(java)电脑,那么可能也会想给它配个包,这个包可以是单肩挎包(tomcat),可以是双肩背包(apache),当然你也可以选择放进塑料袋(nginx)提着走……
        • 电脑包(tomcat)毕竟不能满世界自己乱飞,它需要一个背它的人,这个人可以是一个男人(spring),也可以是个女人(struts),当然也可以是程序猿单身狗(hibernate)之类的动物……
          • 好了,这下电脑包有主人(hibernate)了,说不定你想给它配个女朋友(mysql)或是哲学家(postgresql)……

这个容器可以一直这样无限扩展下去,你可以以任何一个节点作为你的基础镜像,比如上面的选择电脑那一步,最终你可能生成了一个fedora系统下的tomcat web环境,用来跑你的java商城系统之类的。当然你可能也选择了其他的镜像,那么下面的分支肯定也会大不一样,例如一个centos下的nginx+php环境用来跑你的wordpress博客。

二、来动手试试:

这里呢我就以爬楼梯这项高雅的运动作为例子。

假设:目前我的需求是 欲穷千里目,那么我就得 更上一层楼。
上楼的方法有很多,可以飞上去,可以爬上去,可以走楼梯,可以搭电梯,我们选择比较节约材料容易上手的纸飞机。
纸飞机呢,也别用太好的纸,可以用隔壁搬瓦的工人的,也可以用“电子大海”的小水珠。

在这里我就去找电子大海,因为他叠的飞机可以飞一下然后又叠起来放回去,这样比较节约钱。

d1

我个人是比较中意coreos的,这玩意本身就是拿来搞容器的,不过我没跑起来,说我key有错误,所以我换成了centos。

进入系统以后直接安装docker:

yum install -y docker

d2

安装完成以后将其注册服务

systemctl enable --now docker

最后docker -v 一下,确认是否装好。

接下来我们把hub里做好的纸飞机拉回来:

docker pull tsungkang/sslibev

PS:这是我直接将github上sslibev里的Dockerfile拿来build的,可以放心食用,hub上有标明出处,有兴趣请自行前往研究。

拉回来以后,直接运行它:

docker run -d -e METHOD=aes-256-cfb -e PASSWORD=123123 -p 9999:8388 -p 9999:8388/udp --name ss --restart always tsungkang/sslibev

-e后面的是参数,我想大家都看得明白。后面的-p是指定要暴露哪些端口,比如-p 9999:8338/udp 的意思就是将容器内的8338端口的udp映射到宿主机器的9999端口上去。–name ss代表我要将这个容器命名为ss,–restart参数指明了容器的启动方式。

按下回车,你会看到一串很长的哈希码,这就说明容器创建成功了,接下来在自己电脑上填上相应的信息,不出意外应该就能直接千里目了。

d3

三、介绍个简单点的姿势:

红帽子大神前不久开发了个叫做Cockpit的服务器管理工具,可以非常直观地管理你的服务器,如果你的系统是红帽子系的,可以试试这个。

d4

安装方式也很简单:

yum install -y cockpit

完成以后注册服务:

systemctl enable --now cockpit.socket

就绪以后就可以打开IP:9090来管理你的服务器了,这里的帐号密码就是你linux系统的用户名跟密码。登入以后在左边找到容器:

d5

注意,如果这里没有这个选项的话就运行”yum install cockpit-docker”来安装这个bridge。

在这个面板下我们就可以很轻松自如得玩我们的docker了,例如我不满足纸飞机,我还要在加个最终速度,让我的飞机变红,只需要轻松几步:

点击Get new image,搜索最终速度,然后在下面找到图示的image,然后点击Download

d6

等pull完成以后,我们点击镜像旁边的三角形,在对话框中填入相应的参数,配置好相应的端口,然后点Run

6.5

接下来就可以在左边的列表里看到你刚刚新建的实例:

d8

可以看到,最终速度和纸飞机其实也不是太消耗内存。其实瓶颈不在工具上我会乱说?

 

最后,祝大家身体健康。

Tags:

看看其他

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

Fill out this field
Fill out this field
请输入有效的电子邮箱地址。