Docker概述 、 部署Docker 、 Docker镜像 、 Docker基本命令 、 总结和答疑
Docker概述
什么是容器
容器技术已经成为应用程序封装的叫付的核心技术
容器技术的核心有以下几个内核技术组成:
- Cgroups(Control Groups)-资源管理
- NameSpace-进程隔离
- SELinux安全
由于是在物理机上实施隔离,启动一个容器,可以像启动一个进程一样快速
什么是Docker
Docker是完整的一套容器管理系统
Docker提供了一组命令,让用户更加方便直接的使用容器技术,而不需要过多关心底层内核技术
Docker特性
Docker优点
- 相比于传统的虚拟化技术,容器更加简洁高效
- 传统虚拟机需要给每个VM安装操作系统
- 容器使用的共享公共库和程序
Docker缺点
- 容器的隔离性没有虚拟化强
- 公共用Linux内核,安全性有先天缺陷
- SELinux难以驾驭
- 监控容器和容器排错是挑战
部署Docker
安装前准备
-
需要64位操作系统
-
至少RHEL6.5以上的版本,强烈推荐RHEL7
-
关闭防火墙(不是必须)
安装Docker
安装Docker
在虚拟机中配置yum源,指向刚刚创建的目录
软件包安装
案例
Docker镜像
基本概念
什么是镜像
- 在Docker中容器是基于镜像启动的
- 镜像是启动容器的核心
- 镜像采用分层设计
- 使用快照的COW技术,确保底层数据不丢失
Docker hub镜像仓库
镜像操作
下载上传镜像
下载镜像
上传镜像
导入、导出镜像
导出镜像
导入镜像
启动镜像
案例
镜像常用命令
- docker images //查看镜像列表
- docker history //查看镜像制作历史
- docker inspect //查看镜像底层信息
- docker pull //下载镜像
- docker push //上传镜像
- docker rmi //删除本地镜像
- docker save //镜像另存为tar包
- docker load //使用tar包导入镜像
- docker search //搜索镜像
- docker tag //修改镜像命令和标签
docker images
镜像仓库名称 镜像标签 镜像ID 创建时间 大小
docker history
查看镜像历史
-了解镜像制作过程
-详细参考后面的dockerfile内容
docker inspect
查看镜像底层信息
-了解镜像环境变量、存储卷、标签等信息
docker rmi
删除本地镜像
-注意:启动容器是删除镜像会提示错误
docker save|load
保存本地镜像另存为tar文件
-方便其他人使用tar包导入镜像
使用tar包文件导入镜像
docker tag
重命名镜像名称(复制,功能类似于ln连接)
容器常用命令
- docker run //运行容器
- docker ps //查看容器列表
- docker stop //停止容器
- docker start //启动容器
- docker restart //重启容器
- docker attach|exec //进入容器(上帝模式|普通模式)
- docker inspact //查看容器底层信息
- docker top //查看容器进程列表
- docker rm //删除容器
docker run
使用镜像启动容器
dockerps
列出容器列表
-docker ps 查看正在运行的容器
-docker ps -a 查看所有容器列表
-docker ps -aq 仅显示容器id
docker stop |start|restart
docker attach|exec
docker inspect
docker top
docker rm