Docker核心概念
1、Docker是什么?
●是一种轻量级的"虚拟机”
●在Linux容器里运行应用的开源工具
2、Docker与虚拟机的区别
|
特性 |
Docker容器 |
虚拟机 |
|
启动特性 |
秒级 |
分钟级 |
|
计算能力损耗 |
几乎无 |
损耗50%左右 |
|
性能 |
接近原生 |
弱于 |
|
系统支持量(单机) |
上千个 |
几十个 |
|
隔离性 |
资源限制 |
完全隔离 |
3、Docker的使用场景
●打包应用程序简化部署
●可脱离底层硬件任意迁移
●例:服务器从腾讯云迁移到阿里云
4、Docker核心概念
镜像
容器
仓库(公有仓库、私有仓库,存放镜像)
5、CentOS安装Docker的两种方式
●使用CURL获得Docker的安装脚本进行安装
●使用YUM仓库来安装Docker
Docker镜像操作
1、搜索镜像
docker search 关键字
2、获取镜像
docker pull 仓库名称[:标签]
3、查看镜像
docker images 仓库名称[:标签]
docker inspect 镜像ID号
4、添加新标签
docker tag 名称[:标签] 新名称[:标签]
5、删除镜像
docker rmi 仓库名称[:标签]
docker rmi 镜像ID号
6、存出镜像
docker save -o 存出文件名 存出的镜像
7、载入镜像
docker load --input 存出文件名
docker load < 存出文件名
8、上传镜像
docker push 仓库名称[:标签]
Docker容器操作
1、创建容器
docker create [选项] 镜像运行的程序
-i 让容器的标准输入保持打开
-t让Docker分配一个伪终端
2、查看容器运行状态
docker ps [选项]
-a列出最近一次启动的容器
3、启动容器
docker start 容器的ID/名称
4、创建容器并启动执行shell命令
docker run [选项] 镜像运行的程序 执行的命令
-d 在后台进行运行
5、终止容器
Docker stop 容器的ID/名称
6、进入容器
docker exec [选项] 容器的ID/名称 /bin/bash
7、导出容器
docker export 容器的ID/名称 > 文件名
8、导入容器
cat 文件名 | docker import -生成的镜像名称:标签
9、删除容器
Docker rm [选项] 容器的ID/名称
Docker资源控制
1、限制CPU使用速率
通过--cpu-quota选项来限制CPU的使用率
通过修改配置文件cpu.cfs_quota_us实现
2、多任务按比例分享CPU
docker run --cpu-shares 1024 容器A
docker run --cpu-shares 1024 容器B
docker run --cpu-shares 2048 容器C
3、使用--cpuset-cpus选项限制CPU内核使用权
Docker数据卷管理
1、数据管理操作
方便查看容器内产生的数据
多容器间实现数据共享
2、两种管理方式
数据卷
数据卷容器
数据卷
1、数据卷是一个提供容器使用的特殊目录
2、创建数据卷
docker run -d -v /data1 -v /data2 --name web httpd:centos
3、挂载主机目录作为数据卷
docker run -d -v /var/www:/data1 --name web-1 httpd:centos
数据卷容器
1、数据卷容器就是一个普通的容器
2、挂载web容器中的数据卷到新的容器
docker run -it --volumes -from web --name db1 httpd:centos /bin/bash