在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储。
在实际的生产环境中,虚拟化技术主要用来解决高性能的物理硬件产能过剩和老的旧的硬件产能过低的重组重用,透明化底层物理硬件,从而最大化的利用物理硬件 对资源充分利用
虚拟化技术种类很多,例如:软件虚拟化、硬件虚拟化、内存虚拟化、网络虚拟化(vip)、桌面虚拟化、服务虚拟化、虚拟机等等
-kvm,vmware 装在服务器上,虚拟化出一个个的机器(虚拟机),机器上可以装操作系统
-openstack 例如:阿里飞天 可以轻松管理虚拟器,通过图形化界面点击操作,完成创建释放虚拟机
-docker 容器技术
-k8s 多机容器管理(多机容器编排)
Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google 公司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub 上进行维护
Docker 的基础是 Linux 容器(LXC)等技术
用户操作 Docker 的容器就像操作一个快速轻量级的虚拟机一样简单:把docker容器当成一个虚拟机装了一个操作系统
docker 没有操作系统一层,更快,更轻量级
docker 是cs架构:数据通信使用http协议的resful
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install docker-ce -y
docker -v 具体信息为docker发布的年月
systemctl start docker
systemctl stop docker
systemctl enable docker
docker info
官方教程:
阿里镜像加速文档
1. 安装/升级Docker客户端
推荐安装1.10.0以上版本的Docker客户端,参考文档docker-ce
2. 配置镜像加速器
针对Docker客户端版本大于 1.10.0 的用户
您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["阿里提供的加速镜像地址"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
#1 下载镜像
# docker pull下载
#centos:centos7 镜像名字:版本/tag
docker pull centos:centos7
docker pull redis # 默认下最新的latest
# 2 查找镜像---》是否是官方,点赞数大小
-方式一网址搜:https://hub.docker.com/
-方式二: docker search centos
# 3 查看本地镜像
docker images
# 4 镜像删除
docker rmi 镜像名字:tag/镜像id
# 5 一次性删除所有镜像
docker rmi `docker images -q`
# 1 查看正在运行的容器
docker ps
# 2 查看所有容器,无论停止还是运行
docker ps -a
# 3 创建容器并启动(创建容器,运行容器)
docker run -id --name=mycentos -v 宿主机路径:容器路径 -p 宿主机端口:容器端口
-i:表示运行容器 镜像名字:tag
-t:表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。
-d:在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t两个参数,创建后就会自动进去容器)。
--name :为创建的容器命名。
-v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。
-p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射
docker run -di -v /home/mysql/data/:/var/lib/mysql -v /home/mysql/conf.d:/etc/mysql/conf.d -v /home/mysql/my.cnf:/etc/mysql/my.cnf -p 3306:3306 --name mysqlmy -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
docker run -di --name=myredis5 -v /root/lqz/redis.conf:/data/redis.conf -p 6379:6379 redis redis-server /data/redis.conf
vim redis.conf
# redis.conf配置内容
bind 0.0.0.0
daemonize no
protected-mode no
requirepass 123456
docker run -di --name=mynginx -p 80:80 nginx