从2018年开始docker变得越来越火了,所以作为一个互联网的的码农有必要学习了解一下docker,毕竟技多不压身嘛,好废话不多说,直接开工。
本帖子内容本非完全原创,大部分参考尚硅谷2018周阳老师的教程。强烈推荐
一、 Docker简介
1.为什么会有docker出现
作为互联网行业,不管是大公司还是小公司,不管你们是开发测试运维一个人全干还是不同部门总会出现,开发这边功能都OK,但是到了测试就不行,然后各种debug最后吐血的发现是开发和测试的环境有差别(中小型公司很容易出现),所以docker给出了一个标准化的解决方案把开发的环境原始环境一模一样地复制过来,(刻一个章无数次使用)
2.docker理念
Docker是基于Go语言实现的云开源项目。Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP(可以是一个WEB应用或数据库应用等等)及其运行环境能够做到“一次封装,到处运行”。一句话解决了运行环境和配置问题软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术。
3.docker与虚拟机对比
3.1虚拟机技术
虚拟机是一种操作系统里面运行另一种操作系统,比如在Windows 系统里面运行Linux 系统。应用程序对此毫无感知,因为虚拟机看上去跟真实系统一模一样,而对于底层系统来说,虚拟机就是一个普通文件