虚拟化技术,docker容器
- docker能够解决的问题
- docker的思想
- 虚拟化架构
- hypervisor
- docker容器
- 常用命令
docker能够解决的问题
- 程序环境不一致,不能够快速运行,还得浪费大量时间调试环境。
- 在多用户的操作系统下,会相互影响。
- 当用户量暴增,使用增加服务器应对的方式时,运维的成本过高。
docker的思想
- 集装箱
会将所有需要的内容放到不同的集装箱中,谁需要这些环境就直接拿到这个集装箱就可以了。 - 标准化
- 运输的标准化:docker会有一个码头,所有上传的集装箱都放在了这个码头上,当有人需要某一个换进,就直接去搬运这个集装箱就可以了。
- 命令的标准化:docker提供了一系列的命令,帮助我们去获取集装箱
- 提供了REST的API
虚拟化架构
hypervisor
hypervisor(虚拟机监视器),是一种运行在物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享一套基础物理硬件,因此也可以看做是虚拟环境中的“元”操作系统。它可以协调访问服务器上的所有物理设备和虚拟机。
当服务器启动时,hypervisor会给每一台虚拟机分配适量的资源(内存,cpu,网络,磁盘等等)。
docker容器
虚拟机的问题:不能最大化地利用资源。
解决方案:docker。
镜像就是一些特殊的文件叠加而成,容器要依赖镜像进行创建。就好比要创建一张图,需要有一个ps软件。
常用命令
列出镜像:
拉取镜像:docker pull centos:version(如果没有version就默认是最新版本)
run命令:
创建交互式容器:
docker run -i -t --name=c1 centos /bin/bash或者
docker run -i -t --name c1 centos /bin/bash
-i:交互式容器
-t:tty终端(创建好之后会分配一个终端,用于操作容器)
--name:指定容器的名称(唯一,不能重复)
交互式容器退出,容器停止
创建守护式容器(后台运行):
创建:
docker run -d --name c2 centos /bin/bash
启动:
docker exec -it c2 /bin/bash
守护式容器退出(退出命令exit),容器继续运行
查看容器:
docker ps:查看正在运行的容器
docker ps -a:查看运行过的容器
docker pa -l:查询最后一次运行的容器
启动、停止容器:
docker stop c1
docker start c1
查看docker详细信息:
docker inspect c1
删除容器:
不能删除正在运行的容器
docker rm c1
docker rm `docker ps -a -q`:先查询出所有的容器,然后再进行删除
查看容器日志:
docker logs 容器名称/id