Docker环境搭建

Author Avatar
Damon Lee 7月 20, 2018
  • 在其它设备中阅读本文章

前言

相信不管你是刚踏入互联网圈,还是已经摸爬滚打了几年,你一定听说过容器技术。但是要说当下最火的容器技术是什么,技术人员一定异口同声的回答:”Docker“。
什么样的技术人员适合学Docker呢?我认为后端同学和对新技术敏感的同学最合适,这样才能跟得上技术的潮流,使自己不被淘汰。当然正在上学的学生学习Docker对自己找实习机会和找工作也会十分有利的,毕竟技多不压身。
关于的Docker的详细介绍在网上已经多得不能再多了,大家只要百度或者Google一下就能获取到大量的资料,所以我就不在这详细介绍了,下面我就说下我在工作中为什么会选择Docker:
  • 方便部署、交付、迁移、测试,总结起来就是方便持续集成持续交付部署。
  • 启动迅速,秒级的启动速度远远胜过了虚拟机,启动后占用的系统资源也更少。

使用场景

场景1

还记得上学的时候,学习新语言的第一天老师总会教大家如何搭建环境。比如在安装Mysql的时候,学校机房的电脑,你自己的笔记本,再加上各种不一样的Windows版本,不同的Linux发行版,总是让学生出现各种各样的问题。
如果那时候Docker存在的话就轻松解决了这个问题,我只要安装好Docker,然后执行下
1
2
docker pull mysql
docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql
好了,一个root密码为123456的mysql服务就这样搭建好了,最多出现端口占用的问题,换个端口在执行一次即可。

假如你现在需要跑某个开源的Demo,但是这个Demo使用的数据库你的电脑没有安装,。以PostgreSQL为例,这时候你只要执行下
1
2
docker pull postgres
docker run -p 5432:5432 -e POSTGRES_PASSWORD=123456 -d postgres
一个密码为123456,端口为5432的postgres服务就有了。
当然你还可以指定各种版本,这样就相当于在电脑或服务器中装了多个版本的服务。

场景3

现在后端最火的技术当属微服务了。以电商项目为例,在商促期间访问压力大的模块都在秒杀上,这时候如果我们采用了Docker镜像来部署,只需要重新启动一个或者多个秒杀模块就解决了问题,在商促结束后停止掉额外启动的秒杀模块,这样就达到了弹性伸缩的目的,节省了服务器的资源。

安装Docker官网文档

因为我家里的服务器使用ESXi跑着一个Ubuntu的实例,我就以Ubuntu为例子
  1. 更新安装源

    1
    sudo apt-get update
  2. 安装依赖

    1
    2
    3
    4
    5
    sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    software-properties-common
  3. 添加GPG key

    1
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  4. 验证GPG key

    1
    sudo apt-key fingerprint 0EBFCD88
  5. 添加官方源

    1
    2
    3
    4
    sudo add-apt-repository \
    "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
    $(lsb_release -cs) \
    stable"
  6. 再次更新安装源

    1
    sudo apt-get update
  7. 安装docker-ce

    1
    sudo apt-get install docker-ce
  8. 运行hello-world

    1
    sudo docker run hello-world
  9. 如果屏幕上出现了 “Hello from Docker!“ 字样,恭喜你,安装成功。

    如果你以为到了这一步就完事的话,那你真是图样图森破了,由于一些大家都懂得的原因,在国内访问外网的Docker Hub并没有什么速度,好在国内有加速镜像可以配置。我使用的是DaoCloud,在这个网站注册后打开加速镜像的链接,执行网页上给的命令即可。至此,Docker的安装和配置加速镜像就彻底结束了。

总结

今天仅仅是介绍了如何安装Docker和配置加速器,后面我还会分享一些Docker在具体项目中应用,敬请期待。