一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第6天,点击查看活动详情
1、序言
近期参与项目,对于Docker的使用,超出我一开始的想象,测试服务使用Docker部署、Spring Cloud Alibaba Nacos Server使用的Docker部署、其余组件例如:Kafka、RocketMQ、Zookeeper、Hbase等等都是基于Docker部署的,所以想着记录一下相关使用以及学习。
学习新东西的时候,要从下面三方面去了解学习,也就是俗称的3W法则:
在每次学习接触一个新的技术的时候,要先搞明白这个技术是个什么(what),然后再考虑为什么要用(why),最后再去学习这个技术怎么用(how)。
2、What
Docker 属于 Linux 容器的一种封装,可以把Docker看做是一个简化版的虚拟机。
在使用Docker的时候,研发人员将应用程序与该程序的相关依赖,打包到一个文件里面,这个文件称为镜像文件。运行这个镜像文件,就会生成一个虚拟容器。打包进去的程序在这个虚拟容器里运行,容器还可以进行版本的管理、镜像的复制等,就像管理普通的代码一样。
在Docker官网,是这样介绍自己的
为开发者打造,由开发者打造
3、Why
在Docker官网上面,有这样一段话:
- 把事情简单化
Docker 友好的、基于 CLI 的工作流程使所有技能水平的开发人员都可以构建、共享和运行容器化应用程序。
- 快速移动
从单个软件包安装以在几分钟内启动并运行。在本地编码和测试,同时确保开发和生产之间的一致性。
- 合作
在您的项目中使用经过认证和社区提供的图像。推送到基于云的应用程序注册表并与团队成员协作。
从官网的介绍中,可以看到Docker的几个特性:简单、编写、协作。
传统的应用程序部署,开发与运维之间交互的是只给程序,不给环境(开发工具)。这样容易造成开发与运维之间由于运行环境与配置而产生一些兼容问题,并且如果有多个厂商在同一台服务器上部署程序,可能会由于修改了一些环境变量而造成相互影响,而使用docker部署,能从源头上隔绝开发与运维之间由于版本不一致导致的兼容问题及不同厂商之间的相互影响。
4、How
- 安装
Docker的安装方式基本涵盖了所有的操作系统,Windows、Linux、Mac等;因为平常的研发和部署环境基本都是Liunx,那么就只说一下Linux的安装方式。
yum直接安装: yum install -y docker
会自动拉取所需依赖以及配置等信息.
- 使用
具体的使用过程后续出文档,详情见官方说明