MAC 安装 Docker

部署标准

  1. 【环境稳定】 我们选用:阿里云 的ECS服务器
  2. 【业内标准】 应用上云后,后期不管迁移到AWS,还是腾讯云,都一样了。
  3. 【易扩展】 上云后,每一台机器,都涉及到Tomcat, MySQL,JAVA,Ubuntu 等一系列环境,实在是太麻烦,这个问题要解决。
  4. 【易部署】 上面解决了环境问题,那我们的代码怎么上传到云上呢?直接通过scp 传递一个 war 包到云服务器,然后再启动应用,如果发布的war包有问题,要回滚,还要去自己再去找历史的war包文件回滚回来。这个问题也要解决。

Docker神器 + 阿里云 ECS 一统江湖

Docker配图,容器装载一切

Docker配图,容器装载一切
  1. 什么是Docker?
    第一次听说这个名词,我也蒙逼了,如果你也是初次接触,那就听我来打个比喻吧!

近期房地产比较火,那我们就拿房地产来做个例子,首先Docker是一个容器,里面可以装很多东西。

开发商首先要从政府那里买地过来(有了一台服务器硬件设备),然后开发商要在上面盖小区(开发商就相当于Docker),开发商固定售卖 A B C D 四种户型(Docker中的Image镜像),最终盖好的房子(相当于镜象的实例),这些实例共享小区中的公共配套比如:游泳池,篮球馆 (服务器上共享的内存、硬盘、网络)。

盗梦空间相信大家都看过吧? 四层嵌套的梦,在Docker中,通常只是在服务器上进入第一层梦境,然后发生了一系列事情。

那有了上面的Docker以后,有什么好处呢?

  1. 我们先从购买房子的用户角度出发:到售楼处后,说给我来一套A户型的房子,交钱后,就等着开发商帮你建房子就行了。换到程序员视角就是:我有一个机器,我装上一个docker,告诉Docker,给我来一个JAVA,给我再来个MySQL,然后只需要键入命令行:docker pull mysql MySQL就安装好了。就是这么省心。这样第三个问题解决了,环境易配置。
  2. 环境易配置后,那我们再来解决易部署的问题,用过Git的都知道,我们提交的代码,都是有版本控制的,那我们的WAR包,有没有可能也用版本管理来做呢?答案是可以的,详见:Docker Hub,我们可以通过命令行 docker build -t="gs-spring-boot-docker-0.1.1" . 构建到本地Docker镜像中,然后再通过 docker push ssevening/gs-spring-boot-docker:0.1.1 提交到远程仓库。这个时候,任意安装有docker的服务器,只要运行 docker pull ssevening/gs-spring-boot-docker:0.1.1 就可以把代码给下载下来,然后再通过 docker run -p 80:8080 -t ssevening/gs-spring-boot-docker /bin/bash 即可启动我们的应用了噢!

所以,果断选用Docker走起!

那快点去安装一下呗。

初步计划

  1. 搭好WEB运行环境
  2. 写一个WEB服务 完成DB、文件读取
  3. 写一个REST服务,通过http来访问后端资源
  4. 最后再考虑分步式系统

安装

  • 首先,要你安装:Homebrew, 执行命令: /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  • mac 下,直接运行:brew cask install docker 进行安装。参考文档

命令行安装docker

命令行安装docker

  • 成功安装Docker后,我们来测试一下。启动后进入如下界面,去官网注册一下:

Icon图标 小鲸鱼

Icon图标 小鲸鱼

注册用户名密码登陆

注册用户名密码登陆

鲸鱼运行成功

鲸鱼运行成功

运行下面的命令行:

PandeMacBook-Pro-2:~ Pan$ docker --version
Docker version 17.06.2-ce, build cec0b72
PandeMacBook-Pro-2:~ Pan$ docker-compose --version
docker-compose version 1.14.0, build c7bdf9e
PandeMacBook-Pro-2:~ Pan$ docker-compose version 1.8.1, build 878cff1
PandeMacBook-Pro-2:~ Pan$ docker-machine --version
docker-machine version 0.12.2, build 9371605

都正常返回,代表安装成功!

那我们就可以启动一个简单的WEB应用,如果没有下载的话,Docker会自动下载,很省心。

PandeMacBook-Pro-2:~ Pan$ docker run -d -p 80:80 --name webserver nginx
Unable to find image 'nginx:latest' locally
latest: Pulling from library/nginx
afeb2bfd31c0: Pull complete 
7ff5d10493db: Pull complete 
d2562f1ae1d0: Pull complete 
Digest: sha256:af32e714a9cc3157157374e68c818b05ebe9e0737aac06b55a09da374209a8f9
Status: Downloaded newer image for nginx:latest
2126a14662cd6c1d75ae12f118482e4120da42ad2b64147dd7dbaeddd360ba58

运行成功界面如下:

Docker运行成功!

Docker运行成功!

要停止 Nginx 服务器并删除执行下面的命令:

$ docker stop webserver
$ docker rm webserver

未经允许不得转载:皓眸大前端 » MAC 安装 Docker

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址