要使用Docker部署我们的应用,首先要安装Docker。本篇文章以Mac系统为例,说明Docker安装过程及部署应用。
----Part1----
在官网给出的描述很清楚,圈起来的那句话比较重要,意思是如果我们要在Mac上安装Docker,需要我们的Mac系统在10.10.3及以上。我们查看自己的系统,如果满足要求便可直接Download Docker for Mac,如果不满足要求有两种解决方式:1.升级自己的Mac系统之后点击Docker下载安装;2.点击官网给出的链接先下载Docker Toolbox,Toolbox可以安装你在开发中运行Docker时所需要的一切:Docker客户端、Compose(仅Mac需要)、Kitematic、Machine以及VirtualBox。Toolbox使用Machine和VirtualBox在虚拟机中创建了一个引擎来运行容器。在该虚拟机上,你可以使用Docker客户端、Compose以及Kitematic来运行容器。在此由于我使用第一种方式安装,所以第二种方式想了解第二种安装方式的可参考这篇博文。
当你看到这个界面时,Docker就运行起来了。到此下载安装运行过程完成。
----Part2----
为方便后面docker创建服务,我们需要在Docker官网注册账号,并repository。下图为我注册好的账号与repository,后续我们可以通过docker push命令发布镜像到repository。
关于登录:docker login
关于怎么编写Dockerfile在此就不提了(自己也没有好好研究,待有时间会学习的)。有关编写Dockerfile的文章请移步到此。
关于构建自己的镜像:docker build -t xxx:xxx .
由于我并没有自己编写Dockerfile,偷懒从git上down了一个放在了/tcl文件夹下,通过命令行进入文件夹并进入我下载的hello-service-master文件夹下,发现有Dockerfile文件,我直接通过命令:docker build -t xxx:xxx . 构建自己的镜像。在国内网速龟速,由于构建时要请求网络下载一系列东西,所以可以通过换源稍稍提高网速,关于换源。
构建完成
如上图所示:当镜像构建完成,就可以通过docker push hello-service-master将镜像push到自己的repository。
----Part3----
创建节点最快最省事的办法是,通过docker-machine命令,在本地创建虚拟机:
----Part4----
创建Swarm
上面创建了3个节点。计划让:
default作为manager节点,swarm的操作命令只能在manager节点上执行
t1和t2作为worker节点
可通过docker-machine的ssh命令无需密码登陆到default节点:
在default节点创建swarm:docker swarm init --advertise 192.168.99.100
然后,再次登录t1,可通过如下命令查看swarm加入的情况:docker node ls
创建服务:
在default节点,执行命令创建服务:
docker service create -p 3000:3000 --name hello-service tcl012812/hello-service-master:0.1.0
这个命令类似docker的run命令:
docker run -d -p 3000:3000 marshalw/hello-service
区别是,docker run命令只在当前docker服务器上创建容器,docker service create将在创建的swarm中创建容器。
当开启服务实例后,通过docker service ls查看服务列表。
通过docker service ps hello-service查看服务明细。