美文网首页docker
Docker for Mac下载安装及部署应用

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

作者: 走_心 | 来源:发表于2017-01-04 18:46 被阅读675次

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


    ----Part1----

    [官网Docker下载地址](https://www.docker.com/products/docker#/mac)。
    
    Docker官网下载.png

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


    查看系统版本.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来运行容器。

    在此由于我使用第一种方式安装,所以第二种方式想了解第二种安装方式的可参考这篇博文

    安装.png

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

    Application内打开Docker.png

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

    首次进入初始化设置.png

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

    开启Docker.png

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


    ----Part2----

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


    Docker仓库.png

    关于登陆:

    Docker命令登陆.png

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

    关于构建自己的镜像:

    构建自己的镜像.png

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

    构建完成.png docker push.png

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


    ----Part3----

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

    创建节点.png

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

    Paste_Image.png

    执行命令创建3个节点。


    ----Part4----

    创建Swarm

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

    登陆default.png

    在default节点创建swarm:

    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

    相关文章

      网友评论

      • BeatShadow:docker for mac不能映射外网怎么解决

      本文标题:Docker for Mac下载安装及部署应用

      本文链接:https://www.haomeiwen.com/subject/ltjovttx.html