docker基础
一、docker基础
1、虚拟化发展
1)单主机
服务器拥有超高性能硬件
服务器运行简单的服务
服务访问并发量小
服务器硬件资源浪费
2)虚拟化
虚拟化依赖底层硬件
在硬件安装虚拟化监视器驱动计算机硬件
在虚拟化监视器运行独立不同版本的系统
不同版本系统运行不同的服务
提高服务器资源利用率
3)云计算
通过虚拟化平台构建群集服务拥有高性能硬件
采用智能弹性架构设计
支持动态调整计算机硬件资源
将物理硬件转换为逻辑硬件
支持通过浏览器进行管理
4)轻量级虚拟化
在操作系统上安装docker程序
通过docker生成镜像,镜像是一个只读文件,镜像生成容器,容器可以读取写入
在容器中部署服务运行环境
容器和容器之间相互独立互不影响
配置简单
2、docker和虚拟化的区别
1)docker
启动速度快
占用硬件资源小
占用磁盘空间小
隔离性强
迁移简单灵活
2)虚拟化
启动速速慢
占用硬件资源高
占用磁盘空间高
迁移复杂
兼容性差
资源共享复杂
3、虚拟化架构
1)原生架构
生产环境使用原生架构虚拟化产品
虚拟机监视器充当系统驱动硬件
运行速度比寄居架构速度快
2)寄居架构
学习使用
系统驱动计算机硬件
系统上安装虚拟机监视器
运行复杂速度慢
3)docker架构
硬件
docker
容器
二、安装docker
1、安装docker
清空yum仓库
rm -rf /etc/yum.repos.d/local.repo
清空软件源
yum clean all
Centos7修改修改安装源(需联网)
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
--2021-06-10 14:41:00-- http://mirrors.aliyun.com/repo/Centos-7.repo
更新yum缓存
yum makecache
安装dkcoer程序
yum -y install docker
启动服务设置开机自动启动
systemctl start docker
systemctl enable docker
查看docker版本
docker version
2、docker镜像和容器
1)docker镜像
镜像是一个只读文件
镜像可以从docker hub下载或者公共仓库下载
docker镜像id长度128位显示位16位
2)docker容器
容器是一个可读写文件
包含应用程序或者服务运行的环境
3、镜像的基本管理
查找镜像
docker search nginx
下载docker镜像
docker pull docker.io/nginx
查看镜像
docker images
另存镜像备份
docker save -o ./mariadb.tar docker.io/nginx
修改镜像名字
docker tag docker.io/nginx
mariadb:v1.0
删除镜像
docker rmi docker.io/nginx
导入镜像
docker load < ./mariadb.tar
docker load --input ./mariadb.tar
三、docker容器
1、docker容器管理选项
1)-i
保持容器打开状态
2)-t
分配终端
3)-d
后台运行
4)--name
指定名字
2、容器的管理
创建容器名字centos01
docker create -it --name centos01 hub.c.163.com/public/centos:6.7-tools
查看所有的容器
docker ps -a
启动容器
docker start centos01
查看运行的容器
docker ps
创建并启动容器
docker run -it -d --name centos02 hub.c.163.com/public/centos:6.7-tools
创建容器并保证容器一直在运行状态
docker run -it -d --name centos04 hub.c.163.com/public/centos:6.7-tools /bin/bash -c "while true;do echo hello word;sleep 1;done"
查看日志
docker logs centos04
删除停止的容器
docker rm centos03
删除运行的容器
docker rm -f centos04
删除所有的容器
docker rm -f $(docker ps -a -q)
登录容器
docker exec -it centos04 /bin/bash
3、docker容器导出和导入
导出容器
docker export centos01 > ./centos01.tar
导入备份的容器
cat centos01.tar | docker import - centos7:v1.0