什么是docker
Docker是一个被广泛使用的开源容器引擎,是一种操作系统级别的虚拟化技术,它以一种特殊进程的方式运行于
宿主机上,它依赖于liunx内核特性:namespace(名字空间进行资源的隔离)和cgroups(限制、记录任务组
所使用的物理资源),它也可以对应用程序进行打包。
docker设计目标
1.提供一个简单的应用程序打包工具,可以将应用程序和它相关依赖的包都会打进去
2.开发人员和运维人员职责逻辑分离,开发人员只需要关心如何打包容器,运维人员只需要关心怎么去管理
这些容器,不需要关心里面具体的配置
3.多环境保持一致性,不管测试环境正式环境,只需要部署docker镜像
docker基本组成
docker client 客户端
docker daemon docker守护进程
docker images 镜像
docker container 容器
docker registry 镜像仓库
镜像的概念
什么是镜像
它是一个分层存储的文件,是一个软件环境,一个镜像可以创建多个容器,一种标准化的交付,
一个不包含liunx内核的精简的操作系统
镜像与容器的关联
一个镜像可包含多个容器,容器是在镜像的最上面加了一层读写层。
镜像里面的文件改动时,它不会直接改动镜像,而是将要改动的文件拷贝到读写层。
如果容器删除了,最上面的读写层也就删除了,改动也就丢失了,所以无论多少个容器共享一个镜像,所做的写
操作都是从镜像的文件系统中复制过来操作的,并不会修改镜像的源文件,这种方式提高了磁盘的利用率。
如果想持久化这些改动,可以通过docker commit将容器保存成一个新镜像。