2021-04-12docker简介与安装TASK1
Introduction
1.1学习docker前的准备:
1)准备一个Linux操作系统;
如果没有Linux,安装虚拟机,在虚拟机中安装Linux;
需要在BIOS中开启硬件虚拟化,否则会报错如下:
安装docker完成:
docker run hello-world:
这样就表示docker安装成功。
2)掌握Linux操作系统的基本命令。
3)git / svn代码管理工具的思维。
对于docker技术而言:
- JAVA开发者:能够快速搭建开发环境。
- 运维人员: 能够快速搭建测试、运行、部署环境。
1.2docker是什么
docker是一个开源的容器引擎。基于GO预研,并遵守apache2.0协议开源。
构建build、运输ship、运行run
docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何Linux服务器上,也可以实现虚拟化。
容器是完全使用沙箱机制(沙箱就是一个限制应用程序对系统资源的访问的运行环境。),相互之间不会有任何接口,更重要的是容器性能开销极低。
1.3docker的优势
在docker没有出现以前(诞生于2013年初),在容器及虚拟化领域的解决方案,通常是以虚拟机的实现,其中VMWARE最为出名。但是使用虚拟机,依然存在一些问题:
- 性能问题,虚拟机几乎是均分宿主机的硬件资源,抽象了更多要素;
- 管理麻烦,管理一台虚拟机等同管理一台物理机;
- 扩展麻烦,需要再装一个系统。
docker抽象了:操作系统和监视器。
docker的优势总结:
- 更快速的交付和部署
对开发和运维(devop)人员来说,最希望的就是一次创建或配置,可以在任意地方正常运行。 - 更高效的虚拟化
docker的运行不需要额外的hypervisor支持,他是内核级的虚拟化,因此可以实现更高的性能和效率。 - 更轻松的迁移和扩展
docker容器几乎可以在任意的平台上运行,包括物理机、虚拟机、公有云、私有云、个人电脑、服务器等,这种兼容性可以让用户把一个应用程序从一个平台直接迁移到另外一个。 - 更简单的管理
使用docker,只需要小小的修改,就可以替代以往大量的更新工作,所有的修改都以增量的方式被分布和更新,从而实现自动化并且高效的管理。
1.4docker的架构
镜像不能直接运行,镜像相当于一个模板,需要实例化成为一个容器。才可以run。
clients – hosts – registries(docker hub)
同一个镜像可以实例化出多个对象。镜像和容器的关系:类和对象的关系。
maven相当于jar包。