一.Docker
Docker 是一个开源的应用容器引擎,主要利用 linux 内核 namespace 实现沙盒隔离,用cgroup 实现资源限制。让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。Docker 容器通过 Docker 镜像来创建。容器与镜像的关系类似于面向对象编程中的对象与类。由于其基于LXC的轻量级虚拟化的特点,docker相比KVM之类最明显的特点就是启动快,资源占用小。docker能够只加载每个container变化的部分,这样资源占用小,能够在单机环境下与KVM之类的虚拟化方案相比能够更加快速和占用更少资源。隔离性相比KVM之类的虚拟化方案还是有些欠缺,所有container公用一部分的运行库。Docker是基于Linux 64bit的,无法在32bit的linux/Windows/unix环境下使用。和宿主机共用一部分资源,内核要求在3.10以上。
docker容器是docker镜像的实例化,docker容器开启方便,即创即用,随着要求进行删除添加。国内有很多容器云服务服务商:华为云,阿里云,时速云,腾讯云。近几年云服务是大热门,几乎各大厂商都有参与。镜像用来创建容器,是容器的只读模板,默认可以从 docker hub 上下载。docker 的镜像是增量修改,每次创建新的镜像都会在父镜像上构建一个增量的层,基于 AUFS 技术。
二.容器管理
1.docker的安装(用的rhel7.3的yum源)
2.内核要求3.10以上
3.容器的基本操作
(1)导入镜像,创建容器
docker load -i 镜像的tar包
(2)docker images ##查看本地镜像
(3)基于nginx镜像创建web容器(映射到8080端口)
(4)创建web容器的发布文件,把发布文件复制到web容器
(4)docker inspect web ##查看容器详情
(5)测试
(6)docker top web ##查看容器进程
(7)docker logs web ##查看容器指令输出
(8)docker stats web ##查看容器资源使用率
(9)docker diff web ##查看容器修改
(10)docker stop web ##停止容器
docker start web 启动容器
docker kill web 强制干掉容器
docker restart web 重启容器
docker pause/unpause web 暂停/恢复容器
docker rm web 删除容器
docker export web > web.tar ##导出容器
(11)创建容器,并且挂载发布目录(这样可以不断追加内容,不像cp命令那样仅有一个发布文件)