Docker基本概念

一、镜像

容器都是基于镜像(image)创建,镜像提供了部署和运行docker所需的一切基础。一个镜像是永久不会变的。

统一文件系统:
整个文件系统是以读写方式挂载的,所有的变更都发生在顶层的可写层,下层的原始只读镜像文件未发生变化。因为镜像不可写,所以镜像是无状态的。
父镜像:
每一个镜像都可能依赖于由一个或多个下层的组成的另一个镜像。下层那个镜像即为上层镜像的父镜像。
基础镜像:
一个没有任何父镜像的镜像,谓之基础镜像。
镜像ID:
所有镜像都是通过一个64位十六进制字符串来标识的。

二、容器

镜像(Image)是静态的,容器(Container)是动态的。容器就是在镜像的基础上加了一层读写层(Read-WriteLayer)。当容器重启时,读写层发生的任何改变都会消失,因此,容器是无状态的。
在这里插入图片描述

深入理解容器-容器的隔离:
使用Namespaces实现了系统环境的隔离,Namespaces允许一个进程以及它的子进程从共享的宿主机内核资源(网络栈、进程列表、挂载点等)里获得一个仅自己可见的隔离区域,让同一个Namespaces下的所有进程感知彼此变化,对外界进程一无所知,仿佛运行在一个独立的操作系统中;
使用CGroups限制这个环境的资源使用情况,比如一台16核32GB的机器上只让容器使用2核4GB。使用CGroups还可以为资源设置权重,计算使用量,操控任务(进程或线程)启停等。
在这里插入图片描述

三、镜像仓库

镜像仓库(image registry)是镜像的存储仓库,它是一个集中的存储、分发镜像的服务。
理解镜像仓库:
种类:可以从企业内部搭建的私有仓库内拉去镜像,也可以直接从docker公司进行维护的镜像仓库内拉取镜像。
版本:镜像带有版本号,可以通过镜像仓库更好的管理镜像版本。
权限:镜像仓库带有权限功能,可以控制项目组访问镜像的权限。
在这里插入图片描述

四、Docker网络模式

Bridge模式:它是docker默认的网络模式,此模式会为每一个容器分配NetWork NameSpace、设置IP等,并将一个主机上的docker容器连接到一个虚拟网桥上。
Host模式:如果启动容器使用host模式,那么容器将不会获得一个独立的NetWork NameSpace,而是和宿主机公用一个NetWork NameSpace。容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用的宿主机的ip和端口。
None模式:在None模式下,docker容器拥有自己的NetWork NameSpace,但是,并不为Docker容器进行任何的网络配置。也就是说,这个docker容器没有任何网卡、ip、路由等信息。需要我们自己为docker容器添加网卡、配置ip等。
Container模式:这个模式指定新创建的容器和已经存在的一个容器共享一个NetWork NameSpace,而不是和宿主机共享。新创建的容器不会创建自己的网卡,配置自己的IP,而是和指定的容器共享ip和端口范围等。

五、Docker生命周期

在这里插入图片描述
概念描述:
My computer是宿主机,
Docker Registry是镜像仓库,
local Docker Instance是docker实例,
Images是docker中的本地镜像
Containers是docker中的容器
dockerFile
镜像tar文件

过程描述:
1、启动虚拟机My computer。2、连接虚拟机My computer。3、启动docker即创建local Docker Instance。4、因为docker配置文件中配置了远程镜像仓库的地址,所以可以直接在docker中search镜像,search到镜像之后可以pull指定的镜像从远程镜像仓库到docker中,可以对下载好的镜像进行安装创建并启动容器。5、如果想保存已经创建的容器可以commit命令保存该容器为镜像。6、使用save命令将该镜像文件以tar文件形式保存在宿主机上。7、可以通过load命令恢复该tar文件成镜像。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值