一、为什么使用Docker
1)、更轻量级:基于容器的虚拟化,仅包含业务运行所需要的runtime时的环境,CentOS/Ubuntu基础镜像仅170M;宿主机可以部署100~1000个容器
2)、更高效 :无操作系统虚拟化开销
- 计算 :
- 存储
- 网络
3)、更敏捷、更灵活
- 分层存储和包管理,devops理念
- 支持多种网络配置
二、容器虚拟化技术:
Linux容器不是模拟一个完整的操作系统,而是对进程进行隔离。
- 将软件运行所需要的所有资源打包到一个隔离的容器中。
- 容器不同与虚拟机的是 ,不用捆绑一整套操作系统,只需要软件所需要的库资源和设置。
- 系统因此变得高效轻量并保证部署在任何环境下的软件都能始终如一的运行。
三、Docker中的容器
1)、可以把docker的容器看作一个简易版的Linux环境(包括root的用户权限,进程空间,用户空间,网络空间等)和运行在其中的应用程序。
四、Docker命令中的OPTIONS说明
- –name=“容器名称” 为容器指定一个名称
- -d: 后台运行容器,并返回容器ID,也叫启动守护式进程;
- -i :以交互模式运行容器,通常与-t同时使用;
- -t :为容器重新分配一个伪输入终端,通常与-i同时使用;
- -P: 随机端口映射‘
- -p: 指定端口映射,有一下四种格式;
- ip:hostPort:containerPort
- ip::containerPort
- hostPort:containerPort
- containerPort
- -a:列出当前所有正在运行的容器+历史上运行过的
- -I:显示最近创建的容器
- -n:显示最近N个创建的容器
- -q:静默模式,只显示容器编号
- -no-trunc:不截断输出
一次产出多个容器:
docker rm -f $(docekr ps -n 2 -q)
docker rm 容器1 容器2 容器3
**退出交互容器 :**ctl+p+q
**关闭交互容器:**exit
docker容器后天运行,就必须有一个前台进程