Docker for Mac下载安装及部署应用

要使用Docker部署我们的应用,首先要安装Docker。本篇文章以Mac系统为例,说明Docker安装过程及部署应用。


----Part1----

[官网Docker下载地址](https://www.docker.com/products/docker#/mac)。
Docker for Mac下载安装及部署应用_第1张图片
Docker官网下载.png

在官网给出的描述很清楚,圈起来的那句话比较重要,意思是如果我们要在Mac上安装Docker,需要我们的Mac系统在10.10.3及以上。


Docker for Mac下载安装及部署应用_第2张图片
查看系统版本.png

我们查看自己的系统,如果满足要求便可直接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 for Mac下载安装及部署应用_第3张图片
安装.png

待下载完成后,进行安装,将Docker拖入Application内。

Docker for Mac下载安装及部署应用_第4张图片
Application内打开Docker.png

在电脑应用里找到Docker应用图标进入。

Docker for Mac下载安装及部署应用_第5张图片
首次进入初始化设置.png

在第一次启动Docker应用时,会如上图的初始化引导设置,入没特殊需求,一路next点下去就好。当然,需要输入自己的用户名密码。

Docker for Mac下载安装及部署应用_第6张图片
开启Docker.png

当你看到这个界面时,Docker就运行起来了。到此下载安装运行过程完成。


----Part2----

为方便后面docker创建服务,我们需要在Docker官网注册账号,并repository。下图为我注册好的账号与repository,后续我们可以通过docker push命令发布镜像到repository。


Docker for Mac下载安装及部署应用_第7张图片
Docker仓库.png

关于登陆:

Docker for Mac下载安装及部署应用_第8张图片
Docker命令登陆.png

关于怎么编写Dockerfile在此就不提了(自己也没有好好研究,待有时间会学习的)。有关编写Dockerfile的文章请移步到此。

关于构建自己的镜像:

Docker for Mac下载安装及部署应用_第9张图片
构建自己的镜像.png

由于我并没有自己编写Dockerfile,偷懒从git上down了一个放在了/tcl文件夹下,通过命令行进入文件夹并进入我下载的hello-service-master文件夹下,发现有Dockerfile文件,我直接通过命令:docker build -t xxx:xxx . 构建自己的镜像。在国内网速龟速,由于构建时要请求网络下载一系列东西,所以可以通过换源稍稍提高网速,关于换源。

Docker for Mac下载安装及部署应用_第10张图片
构建完成.png
Docker for Mac下载安装及部署应用_第11张图片
docker push.png

如上图所示:当镜像构建完成,就可以通过docker push hello-service-master将镜像push到自己的repository。


----Part3----

创建节点最快最省事的办法是,通过docker-machine命令,在本地创建虚拟机:

Docker for Mac下载安装及部署应用_第12张图片
创建节点.png

以上命令在本地创建一个virtualbox的虚拟机,名字为t1。create命令执行创建操作, -d(driver #指定基于什么虚拟化技术的驱动)。docker-machine自带virtualbox虚拟机,无需单独安装。执行上述命令,会自动从docker服务器下载匹配版本最新的virtualbox虚拟机镜像,下载完毕会自动启动该虚拟机。
上述命令执行时需要请求网络,国内限制,解决方案是通过阿里云Docker镜像加速,移步。

Docker for Mac下载安装及部署应用_第13张图片
Paste_Image.png

执行命令创建3个节点。


----Part4----

创建Swarm

上面创建了3个节点。计划让:
default作为manager节点,swarm的操作命令只能在manager节点上执行
t1和t2作为worker节点
可通过docker-machine的ssh命令无需密码登陆到default节点:

Docker for Mac下载安装及部署应用_第14张图片
登陆default.png

在default节点创建swarm:

Docker for Mac下载安装及部署应用_第15张图片
default创建swarm.png

退出default,再次通过docker-machine ssh命令登陆到t2和t3,执行上述命令加入到t1创建的swarm中,即:

加入swarm.png

然后,再次登录t1,可通过如下命令查看swarm加入的情况:

查看swarm加入的情况.png

创建服务:

在default节点,执行命令创建服务:先执行pull!!!

docker service create -p 3000:3000 --name hello-service tcl012812/hello-service-master:0.1.0
Paste_Image.png

这个命令类似docker的run命令:

docker run -d -p 3000:3000 marshalw/hello-service

区别是,docker run命令只在当前docker服务器上创建容器,docker service create将在创建的swarm中创建容器。上面创建服务的命令只跑了1个服务实例。当开启服务实例后,通过docker service ls查看服务列表。

查看服务状态和列表.png

待上述命令执行完毕,通过服务命令查看均状态正确之后,就可以通过 curl 'http://xxx.xxx.xxx.xxx:xx/xx/xx' 格式的地址来验证是否成功。

验证成功.png

上图虽然服务只部署在swarm其中一个节点,但无论访问其中哪个节点,都可获得服务:原因是未部署服务的节点会自动转发请求到服务所在的节点上去。

改变服务的实例数:

下面命令将目前1个实例数改为3个:
docker service scale hello-service=3
改变服务实例数.png
可以通过docker service ps命令查看具体节点上服务的状态:
docker service ps hello-service
查看符合和节点服务状态.png

你可能感兴趣的:(Docker for Mac下载安装及部署应用)