Docker之初体验

昨天体验了一把从去年开始就非常火的Docker,刚好今天准备把图片外链都迁到七牛上,于是就决定把这过程记录一下,以后也慢慢地把以前的博客整理一下,把所有的图片都迁到七牛上去.以前接触虚拟化的东西多一些,ESX,KVM,Xen,Hyper-V,都有用过,所以一直都想体验一把Docker,可是由于现在专职做Android应用开发了,项目比较忙.而且也苦于一直没有一台Linux宿主机,就放在一边了.最近项目不忙,刚好前段时间在Win8上装了Hyper-V,虽然用Hyper-V有点不伦不类的,不过实际体验过程还算顺利.当然也有一些其他问题,我在后面会说.

过程主要以图片呈现,牵涉到极少的命令,主要也是挂载外置虚拟硬盘,下面就是基本的步骤了,也比较简单,跟在Hyper-V里创建虚拟机步骤也差不太多,直接贴图了.

在Hyper-V里创建一个虚拟机:

选择虚拟网络,这里我是自己创建了一个虚拟交换机,在Hyper-V的网络管理也是这样设计的,通过网络交换机托管虚拟机所需要的虚拟网卡.

创建虚拟硬盘:

加载启动镜像,这里我选择了boot2docker,github地址在这儿boot2docker,Lightweight Linux for Docker

创建完成.

启动docker,启动完成boot2docker那个logo还是很有爱的.


查看IP,记下eth0的IP,然后就可以使用ssh连接管理了,还是默认的22端口,需要注意的一点是虽然当前用户是root@boot2docker,但是一些敏感操作还是要加sudo的.


然后就是挂载外部虚拟磁盘,创建应用了.


上面就是挂载磁盘的过程,一些命令,挂载硬盘的教程我13年的时候写过一篇,参看Linux挂载磁盘教程,如果提示挂载失败,可以将格式化磁盘之前的步骤(不包括格式化磁盘这一步)再重新执行一次即可.

最后就是创建应用了,这些在网上应该到处都是,根据自己需求创建即可.当然,用Hyper-V创建Docker应用不是最好的方案,只能体验,实际生产还是最好使用一台Linux服务器,否则很多操作会很麻烦,而且网上资料也比较少.Docker创建完成之后,是不能设置静态IP的(至少在使用Hyper-V,我是没找到解决方案),如果是其他方案,要设置静态IP,可以看这篇文章配置docker容器静态IP地址.关于docker的更多资料,还是翻看官方文档最靠谱,docs for docker.

顺便提一句,我用的Xshell配色是Ubuntu配色,下面是色值配置文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[Ubuntu]
text(bold)=ffffff
magenta(bold)=ad7fa8
text=ffffff
white(bold)=eeeeec
green=4e9a06
red(bold)=ef2929
green(bold)=8ae234
black(bold)=555753
red=cc0000
blue=3465a4
black=000000
blue(bold)=729fcf
yellow(bold)=fce94f
cyan(bold)=34e2e2
yellow=c4a000
magenta=75507b
background=300a24
white=d3d7cf
cyan=06989a
[Names]
count=1
name0=Ubuntu

同时用的比较多的还有一款配色是Kepbod

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[Names]
count=1
name0=Kepbod
[Kepbod]
text(bold)=f9f8f5
magenta(bold)=e1a3ee
text=f9f8f5
white(bold)=f9f8f5
green=a6e22e
red(bold)=deaf8f
green(bold)=acc267
black(bold)=383830
red=fb9fb1
blue=66d9ef
black=272822
blue(bold)=6fc2ef
yellow(bold)=f4bf75
cyan(bold)=12cfc0
yellow=fd971f
magenta=ae81ff
background=272822
white=f5f4f1
cyan=a1efe4

都是我从其他地方淘来的,有哪位看到了可以告诉我,我给署上名字.