3W法则-学习Docker
一、前言
5W1H法则是在一次面试中学习到的,后来在工作也开始使用这种东西,虽然最后没去那家公司,但是也是学习到了,关注开这些东西以后,也发现了一些简化版的3W法则,最近公司也要搞Docekr,所以写篇博客来说说为什么要学习Docker。
二、What Docker
什么是Docker?Docker是一种容器化的技术,包括一个命令行程序、一个后台守护进程以及一组远程服务,使应用程序在不同的操作系统上以相同的方式运行,所以要明白什么是Docker我们还需要来聊聊容器的概念。
容器是为应用程序提供隔离的运行空间,每个容器内部都包含一个独享的完整用户环境空间,并且容器内的变动不会影响其他容器的运行。这个时候我们又会想到传统的虚拟化技术他也是一种容器化的技术,接下来我们拿两者做个比较。
对于传统虚拟化技术(虚拟机),提供一套完整的操作系统,可以为每个用户指定CPU、内存等资源,Docker则是使用namespaces来进行空间隔离,通过文件系统的挂载点来决定容器可以访问哪些文件,通过cgroups来确定每个容器可以利用多少资源,所有的容器共享一个操作系统内核。两者相比较起来Docker更轻量级些,相比传统的虚拟化技术来说对系统资源运用的更加充分。


总结下就是,Docker是为应用软件提供运行空间,以及将应用软件直接相互隔离,来提升安全性;
三、Why Docker
为什么需要Docker?我认为应该3方面说起:
1.服务端的开发和部署
对于开发和运维人员来说,现在每天面对各种各样的中间件、各种服务的部署,单纯依靠以前的手动部署已经不能满足现状,Docket可以通过定制镜像,来实现一次性创建或配置,可以在任意地方正常运行,使得开发人员和运维人员解放双手,另外Docker构建和启动很快,能大量节约开发、测试和部署时间。服务化的今天如果没有Docker大家可能也没有这么顺风顺水。
2.更高效的利用资源
Docker相比于传统的虚拟化技术来说不需要运行完整的操作系统,可以理解为进程级的,在同等的情况下可以对系统资源更高效的利用;
3.易用性和扩展性
Docker使用起来很简单,没有想虚拟化技术那般费劲,简单的一个命令就能运行起来服务,使得这项技术更加的流行。 Docker采用分层存储和镜像技术,使应用的维护和扩展变得非常简单,另外Docker官方维护很多镜像,让大家降低了应用镜像制作的成本;
四、How Docker
这篇博客先从环境搭建然后到Hello World,下一篇文章带领大家做一个spring boot连接数据库,最后补上之前说的Elasticsearch集群搭建(包括Elasticsearch一些参数调优、监控、集群测试),中间也会穿插一些镜像、容器、网络和存储等等这些Docker中的知识,先来启动Hello World
安装环境实在腾讯云上的CentOS 7的版本,通过yum命令来安装Docker,Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。
#查看你当前的内核版本
uname -r #安装 Docker
yum -y install docker #启动 Docker 后台服务
service docker start #查看docker版本
docker -v
接下来我们来启动一个Hello World,这里我们暂时不通过Dockerfile的形式去做,通过Docker仓库来实现将Hello World运行出来,
1.docker search hello-world 先搜索关于hello-world的镜像

2.docker pull hello-world 拉取hello-world的镜像到本地服务器

3.docker run hello-world 运行容器

这里就是带大家完成一个从仓库拉取到本地镜像的一个例子,相信使用过Git都比较清楚,通过上面的例子相信大家已经体验Docker的易用性,接下来会有更详细的使用介绍;
五、结束
欢迎大家加群438836709!欢迎大家关注我!

3W法则-学习Docker的更多相关文章
- 从零开始学习 Docker
这篇文章是我学习 Docker 的记录,大部分内容摘抄自 <<Docker - 从入门到实践>> 一书,并非本人原创.学习过程中整理成适合我自己的笔记,其中也包含了我自己的 ...
- 如何学习Docker
如何学习Docker 学习Docker,如果没有云计算的基本知识,以及内核的基本知识,那么学习并理解起来会稍吃力.作为容器,Docker容器的优势在哪,不足在哪,最好了解容器的实现是怎样的(简单了解) ...
- 系统学习Docker 践行DevOps理念
Docker代表的容器技术是近两年的大热技术,和人工智能.区块链等热点不同,容器技术的门槛并不高,每一个开发.测试.运维人员都能在日常工作中掌握和使用,是当今IT从业人员的必备技能之一.本课程会带大家 ...
- 从零开始学习docker之在docker中搭建redis(集群)
docker搭建redis集群 docker-compose是以多容器的方式启动,非常适合用来启动集群 一.环境准备 云环境:CentOS 7.6 64位 二.安装docker-compose #需要 ...
- Docket学习--Docker入门
什么是Docker? Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机). ...
- 学习docker
虚拟机下Ubuntu环境 1.sudo apt-get update 2.sudo apt-get install docker.io 3.在daocloud(http://www.daocloud. ...
- 学习docker可能会用到的参考
局域网部署Docker--从无到有创建自己的Docker私有仓库 http://lib.csdn.net/base/docker 正在刷(学习)一遍官方文档,上面是一些其他可能用到的资料,是在解决自己 ...
- 1.ASP.NET Core Docker学习-Docker介绍与目录
Docker的优点: 1节约时间,快速部署和启动 2节约成本 3标准化应用发布 4方便做持续集成 5可以用Docker做为集群中的轻量主机或节点 6方便构建基于SOA或者微服务架构 的系统 学习目录: ...
- Docker学习のDocker初识
一.Docker是什么 Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然 ...
随机推荐
- apicloud踩坑集锦
最近在用apicloud开发,这里录入一些踩坑的地方,从头到尾,要多尴尬有多尴尬,新入app开发,记录一些心得,和遇到的坑以及解决办法. 1,apicloud 打包的Android app ,打开fr ...
- Python unittest基本框架组成(1)
Python的标准库——unittest(可以实现自动化测试框架的搭建) python unittest四大组成“元件”: test fixture(测试脚手架)——测试代码的运行环境,指测试准备前和 ...
- libcurl在centos6.4 64位操作系统上不支持https的解决方案
rpm -e –nodeps 软件名 例如: 使用yum install nginx 安装了nginx, 这是如果直接使用yum remove nginx 的话,会把依赖的一些包也删掉, 所以要使用r ...
- 水题 Codeforces Round #308 (Div. 2) A. Vanya and Table
题目传送门 /* 水题:读懂题目就能做 */ #include <cstdio> #include <iostream> #include <algorithm> ...
- joomla建站-双语CMS系统开发的实现
首先,请确保你的网站安装了你所需的双语语言,详细安装过程见:https://www.cnblogs.com/surfer/p/9619345.html 第一步:设置内容管理 可以按照个人需求进行语言编 ...
- windows 下使用sqlplus
1.连接数据库 找到tnsnames.ora 监听器配置 TESTDB = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = "服务器端ip ...
- jboss中JVM监控
1)打开 http://server-name-or-ip/jmx-console/HtmlAdaptor2)在 jboss.system 节点找到 type=ServerInfo ,点击进入3)找到 ...
- CentOS 7 samba server 配置
samba是linux上的文件共享服务软件,相当与Windows上的共享文件夹,当然也是要在同一网段上的. 当前用的版本是4.4.4,好吧!下面介绍怎么去安装配置它,here we go! 1. 安装 ...
- Android(java)学习笔记199:JNI之JNI概念
1. JNI是什么? java native interface (java本机接口) 比如方法声明: public final native Class<?> getClass(): ...
- jsonP 现在360浏览器竟然阻止本机 jquery load一些html js什么的
别的浏览器正常可以jquery.load本机文件,但是360浏览器不行了,缺德啊!! jsonP代码 index3.html <!DOCTYPE HTML PUBLIC "-//W3C ...