有幸在Arukas免费开放的时候注册到一个账号,同时也让自己对docker有了第一次认识。作为做了几年的虚拟化工作者,还是第一次去了解容器的概念,让我想起微软的应用虚拟化。先来看下虚拟机与容器的区别吧:

 

上图:Docker       下图:虚拟机

虚拟机的客户机都是内核隔离、容器共享一个系统内核,当然两者都有优缺点:

容器比较轻量,能够在几秒启动一个准备好的容器,方便移值,虚拟机相比起来则比较笨重,它们每台虚拟机都相互独立互不干扰,(当然容器也是容器之间进行隔离,只不过共用一个内核)下面我们通过一个在Arukas简单的例子,来了解一下Docker

首先登陆Arukas的官网:https://arukas.io/

Arukas服务器在日本,网友们都叫它日本樱花,主要在Arukas搭建SS进行科学上网,目前官网已经对新用户注册进行了限制,不过大家可以去尝试下。

据我所知Arukas的docker好像还不支持客户端登陆,只提供一个API KEY,应该是用在Python\node.js等应用中,不能通过Linux的Docker客户端进行登陆,我们登陆到Arukas的控制台:(官网说是支持HUB.Docker.com的images)

创建一个新的应用,目前Arukas最多支持10个应用

APP  NAME:输入自己的应用名称,可以随便填写,方便自己识别

Image:就是Docker 的image,可以到hub.docker.com找自己需要的image

例如我们部署一个nginx:那我们直接输入nginx:tags   <nginx:latest&nginx:1.10>TAGS在HUB上都有记录

选择容器的Instances,实例数量,通常是1个,你也可以选择5-10个,用不到那么多,1个就好

内存可以选择最高512M,你创建10个应用,那么10个应用都可以是512M

Endpoint:有点像一个在某个网络上进行网络通讯的接口,你可以不填,系统会默认生成一个*.arukascloud.io的https网址,info说:

Endpoint only supports the first port. It doesn’t listen on multiple ports.

只支持第一个端口,不支持多端口

Port:很重要的一项,你需要指定容器要映射到公网IP的端口号,Arukas不支持公网IP的自定义端口号,也就是说它的公网端口是随机的,例如:部署nginx一定会用到80端口或8080端口,那么就会产生一个内网IP和公网IP,不然用户怎么访问呢。内网IP就是容器的内部IP,公网IP就是你的计算机访问Arukas服务器的地址,这里的Port,要填你要映射出来的端口,可以理解为内网端口80&8080(支持TCP&UDP)

ENV:环境变量,一般要看你部署image的时候是否会需要环境变量,就是docker -d -p 80 -e 中的-e

最后,我们创建看看

选择启动

稍等片刻,直到这个应用部署成功,如果失败则以红色显示,反之绿色

点进去看一下系统生成的信息

从上图中我们可以看到系统为我们生成了2条关键的信息,分别是

Endpoint:
https://berserk-hugle-2046.arukascloud.io
Port:
http://seaof-153-125-234-175.jp-tokyo-10.arukascloud.io:31291 (80/tcp)
通过port我们可以直接访问nginx的80端口,也可以使用Endpoint提供的网址,从Port中我们知道公网IP就是:153.125.234.175:31291,我们并不能通过153.125.234.175:80来访问,因为80只是容器的端口
结果正是我们需要的~
补充下:页面中还有一个绿色watch,是查看容器日志的
 
总结:Arukas用户体验不是很好,端口不能自定义,很多映像支持也不好,权限较小,但挂个SS,学习还是不错的!
 
ps.由于大喵能力有限,如有错误或不对的地方,请指教!
 
via.https://dacat.cc/136.html