最近在学docker,算是炒冷饭,之前接触过docker的一些基础内容,但没有系统深入学习,这次会比较系统的学习docker的基础知识和基本操作。挖个坑,会产出两篇博客,一片介绍docker关键基础概念,一篇介绍docker相关的实操。
这一篇会介绍docker相关的重要概念,一个是容器,一个是镜像。
容器
容器是虚拟技术的一种,其主要作用是提供给应用程序一个可以运行的环境和相关依赖。说到虚拟技术,当然会想到虚拟机,那让我们来看一下容器与虚拟机的区别。
如上图所示,虚拟机和容器结构主要区别在于中间两层,虚拟机自带了操作系统,这个操作系统可以和宿主机一样,也可以不一样,而容器是和宿主机共享一个操作系统。我们知道,操作系统的内容是很多的,就像我们自己电脑上的操作系统一样,占用的内存很多,启停很慢,而且如果虚拟机安装的操作系统有更新,那更新也很麻烦,而且购买正版操作系统也是一笔不小的费用。而容器则没有这些烦恼,所以容器相对于虚拟机而言,既可以提供独立的软件运行环境,占用内存也小,启停速度快,操作更简单,更轻量级。
Docker
Docker不等同于容器,它是基于容器技术开发的一个应用,docker包含了运行一个应用程序所需要的所有东西,包括:代码、运行时、各种依赖和配置。那么这里面的代码、依赖、配置就是docker镜像包含的内容