微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Docker 零基础从入门到使用

https://blog.csdn.net/sunnyzyq/article/details/101222410

1. Docker 是什么?

Docker 是一个引擎,
Docker 是一个应用容器引擎,
Docker 是一个开源的应用容器引擎,
他可以将开发的应用生成镜像,然后发布到任何系统上运行。

2. Docker 能干什么?

在讲 Docker 能干什么之前,我们不妨先看看没有 Docker 和有Docker分别是个什么样子的?

2.1需求

某公司需要开发一个管理系统,由于业务数据量庞大,需要对每个模块进行独立化。

比如:将订单管理抽出为一个单独的系统,支付管理抽出为一个单独的系统,会员管理也抽为一个单独的系统,以此类推等等。

那么,要实现用户下单支付这个逻辑,那么首先需要调用会员管理的相关接口进行登录调用订单管理的相关借口进行下单,调用支付管理进行支付。这几个模块共同工作才构成了我们一个下单支付的功能。这就是我们常说的分布式微服务系统。

 他和传统的单一模式的区别就是:将整个项目进行了模块划分,以前老一辈项目都是将会员,订单,支付等系统都集合在一个项目中,这样十分不利于后期项目的扩展。

2.2 有Docker组 VS 无Dokcer组

为了方便叙述,我们将有无使用Docker分为 有Docker组和无Docker组,让他们开始PK。

  • 第 1 回合:比服务器资源占用量( 资源就是金钱,没啥好说的 )

     无 Docker 组:购买了3台服务器,将开发好的三套系统分别往一台服务器上进行部署。
     有 Docker 组:购买了1台服务器,将开发好的三套系统分别进行 Docker 封装,都部署到这台服务器上。
     砖家点评:无Docker组多买了2台服务器,造成了金钱浪费,有Docker组胜出。

  • 第 2 回合:比项目启动速度( 时间就是金钱,也没啥好说的 )

     无 Docker 组:启动1个服务前前后后花了10秒,则3个启动完毕则花了30秒。
     有 Docker 组:启动1个服务只靠一个命令,花费1秒,那么3个就只需要3秒。
     砖家点评:无Docker组花了30秒,有Docker 组只花了3秒,有Docker组再次胜出。

  • 第3个回合:比项目迁移( 服务器升级啊,机房变更啊,反正就是需要换服务器了 )

    无Docker组:嗒嗒嗒,又重新在新服务器上安装了一大波软件,然后测试,总算迁移成功了,耗时大半天。
    无Docker组:把每个服务的Docker镜像拷贝过去,不用安装任何软件,又一个命令在新服务器上启动成功,耗时2分钟。
    砖家点评:这么显而易见的结果,还要我来点评?我太难了!
经过上面几个回合的较量,Docker 的优点相信你或多或少已经知道一些了,我也就不总结了,当然Docker的优点远远不止这些,等你们日后学会了,自己去看相关文档摸索,本文只带萌新入门Docker。

3. Docker 入门

下面以实际的例子,把我个人网站(http://www.sunnyzyq.cn)改造为 Docker 项目。下面所有操作都是在 Linux 上操作的,请各位同学注意,要是没有Linux, 要么自己花钱买个服务器,要么自己安个虚拟机,个人建议搞我们这行的,还是有必要买个服务器,1年也就几百块,买来想怎么玩儿就怎么玩儿,主要是能学到技术,多好。

3.1 Docker 安装

ubuntu14.04以上的版本都是自带docker安装包的;所以可以直接安装;但是这个一般不是最先版本

sudo apt-get update
sudo apt-get install docker.io

安装最新版本

sudo apt-get update
curl -s https://get.docker.io/ubuntu/ | sudo sh  

查看docker是否安装成功

docker version

 如图,docker即安装成功。但是我们可以看见docker只启动了client,我们通过输入service docker start来开启server,之后再次输入docker version来验证

 

启动server

service docker start

 发现server依然没有启动

解决方法

https://www.cnblogs.com/informatics/p/8276172.html

sudo groupadd docker     #添加docker用户组
sudo gpasswd -a $USER docker     #将登陆用户加入到docker用户组中
newgrp docker     #更新用户组
docker ps    #测试docker命令是否可以使用sudo正常使用

 如图所示,我们的安装已经完成。

 

测试

完成之后,我们来使用docker来测试一下HelloWorld,通过输入docker pull hello-world来拉取hello-world镜像

这样我们就从仓库拉取到了HelloWorld的镜像,接下来我们来运行一下,通过输入docker run hello-world

若是出现了上图的内容则说明hello-world运行成功。

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐