首页 > 技术文章 > 一、docker入门(概念)

yclh 2021-09-03 19:36 原文

系列导航

一、docker入门(概念)

二、docker的安装和镜像管理

三、docker容器的常用命令

四、容器的网络访问

五、容器端口转发

六、docker数据卷

七、手动制作docker镜像

八、docker-file自动构建docker镜像

九、dockerfile指令讲解

十、docker镜像的分层

十一、docker的容器互联

十二、docker仓库

十三、docker的四种网络类型

十四、跨宿主机容器之间的通信

十五、跨主机通信overlay网络

十六、企业级私有仓库harbor

十七、其他

      这段时间学习使用了docker打算整理一下,发一个docker的系列,今天从基础的概念开始,后面会有安装、使用、建立docker仓库等一系列内容。

     为什么要学习docker:科技越来越发达虚拟机出现以前,想学习很多服务器组建的集群,只有少部分人能有那样的环境学习,虚拟机的出现解决了很多人学习的环境问题,一台性能好的计算机上可以装很多个不同的操作系统,组成集群的环境,但虚拟机对硬件的依赖依然非常大,如果你要搭建一个3台以上的服务器组建的集群,那么对你的计算机硬件要求就会比较高。docker的出现可以很大程度上解决这个问题因为他需要的开销更小,相同的硬件条件下可以干更多的事情。还有一个重要的原因如果你在学习sql需要搭建一个oracle的数据库,如果没有docker你就得先学习如何搭建一个oracle数据的环境,这个可能就要花你几天时间,但是有了docker直接拉一个镜像启动就好了马上就可以学习oracle的sql语句了,还要很多原因就不一一列举了。

一、概念

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 LinuxWindows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

 

1:什么事容器?

容器就是在隔离环境运行的一个进程,如果进程停止,容器就会销毁,隔离的环境拥有自己的系统文件、ip地址、主机名等。

注:进程是正在运行的程序

 

2:容器和虚拟机的区别

 

虚拟机:需要硬件的支持,需要模拟硬件,可以运行不同的操作系统,启动时间分钟级

例如:linux的开机流程,bios开机硬件自检-->读取mbr引导-->加载内核-->启动第一个进程….

容器:不需要硬件支持,不需要模拟硬件,共用宿主机的内核,启动时间秒级(没有开机启动流程)。

(1)与宿主机使用同一个内核,性能损耗小。

(2)不需要指令级模拟。

(3)容器可以在CPU核心的本地运行指令,不需要任何专门的解释机制

(4)避免了准虚拟化和系统调用替换中的复杂性

(5)轻量级隔离,在隔离的同时还提供共享机制,实现容器与宿主机的资源共享。

推荐阅读