使用Container生成Image 实践
在Linux中,Image Layer是只读的,而Container Layer既支持读,又支持写。
Image生成有两种方式,
方式一:使用Dockerfile【推荐】,因为可以看到执行过程
方式二:使用Container反编译生成Image 【不推荐,因为不可以看到执行过程】
Demo:拉取Centos,生成Container,然后进入Container中安装vim,接着将其打包成镜像,接着pull镜像,运行,看是否能够执行vim命令,如果,可以说明容器执行成功。
container资源限制
1、使用docker top查看Tomcat占用的系统资源
docker top tomcat01
2、docker stats命令查看,能够看到占用的内存等信息
3、新启动一个容器,设置Memory,同时设置CPU的权重。
4、查看Tomcat02容器
docker stats tomcat02
5、查看Tomcat02的日志
docker logs tomcat02
图形化资源监控
首先第一步下载、安装、启动:
完成之后,启动成功
访问地址后,就可以看到对应的管理页面
sudo curl -L git.io/scope -o /usr/local/bin/scope sudo chmod a+x /usr/local/bin/scope scope launch
Container中也存在Linux的原因
Container是一种轻量级的虚拟化技术,不用模拟硬件创建虚拟机。
Docker是基于Linux Kernel的Namespace、CGroups、UnionFileSystem等技术封装成的一种自
定义容器格式,从而提供一套虚拟运行环境。
Namespace:用来做隔离的,比如pid[进程]、net[网络]、mnt[挂载点]等 CGroups: Controller Groups用来做资源限制,比如内存和CPU等 Union file systems:用来做image和container分层