虚拟机:
通过虚拟化技术我们可以在服务上运行多个不同环境的虚拟机,大大提高我们对服务器的利用率!
虚拟机的硬件的弹性扩展也方便了我们后期虚拟机配置的提升
统一的管理平台也会大大降低我们的维护成本
容器:
容器本身的意思是指可以存放东西的器皿,我们这里可以把容器想想成是一个盒子、箱子!里面存放的就是我们要运行的应用:如一个nginx、tomcat
容器技术相对于虚拟机具有哪些特点?
1.体积小
2.启动速度快
3.性能接近原生
4.单节点支持的容器的数量多
6.环境一致性
docker的安装
Centos7.6
1.配置docker的yum源,可以使用阿里云的
2.安装docker-ce
yum -y install docker-ce
3.关闭防火墙
systemctl stop firewalld
setenforce
4.启动Docker
systemctl start docker
systemctl enable docker
Docker三个基本概念
1.镜像仓库(hub.docker.com 镜像仓库)
2.镜像
3.容器
Docker常用命令:
对镜像的操作:
1.获取镜像
增:
docker pull 镜像名:TAG
删:
删除镜像,我们不能直接删除有容器依赖的镜像
docker rmi 镜像名/ID
docker rmi -f 镜像名/ID
改:
docker tag
查:
查看本地镜像
docker images
对容器的操作:
增:
1.创建并运行容器
docker run --name 容器名字 -d -p 宿主机端口:容器端口 基础镜像
例子: docker run --name web1 -d -p 80:80 nginx:latest
docker run --name learn1 -it busybox /bin/sh 以可交互的方式运行一个容器
删:
删除容器,我们不能直接删除一个正在运行的容器,需要先停止再删除,或者-f,强制删除
docker rm web1
docker rm -f web1
改:
容器重命名
docker rename 修改容器名字
容器启动和停止
docker start/stop/restart 容器名
docker pause 容器名 \\暂停容器
docker unpause 容器名 \\取消暂停容器
docker update \\更新容器的配置
docker cp \\容器和宿主机之间复制文件,默认覆盖已有的文件
docker exec \\在运行的容器中执行一条命令
docker exec -it web1 /bin/bash \\以交互的方式进入web1容器操作
查:
查看正在运行的容器
docker ps
查看所有的容器
docker ps -a
docker stats 容器名 \\查看容器运行状态(CPU\内存\网络IO\磁盘IO使用情况)
docker top 容器名 \\查看容器正在运行的进程
docker inspect 容器/镜像 \\查看容器或者镜像的底层信息,元数据,比如查看ip、主机名、数据卷、CMD等信息
docker logs [-f] \\查看容器内部进程的日志
构建镜像:
基于一个容器构建一个新镜像
1.运行一个基于(Centos/Ubuntu/alpine)启动一个容器,在容器内部执行更改操作,比如安装一个工具或者服务!
2.使用docker commit 将容器提交更改并生成一个新的镜像,比如有个叫ztt的容器,基于它创建一个镜像nginx:1.0
例子:docker commit ztt nginx:1.0