核心概念与安装配置
核心概念与安装配置
核心概念
docker镜像
docker镜像类似于虚拟机镜像,可以将它理解为一个只读的模版。
例如,一个镜像可以包含一个基本的操作系统环境,里面仅安装了了apache应用程序(或用户小的其他软件)。可以把它称为一个apach镜像。
镜像是docker容器的基础。
docker容器
docker容器类似于一个轻量级的沙箱,docker利用容器来运行和隔离应用。
容器是从镜像创建的应用运行实例。它可以启动、开始、停止、删除,而这些容器都是批次相互隔离、互不可见的。
可以把容器看作一个简易版的linux系统环境(包括root用户权限、进程空间、用户空间和网络空间等)以及运行在其中的应用程序打包而成的盒子。
注意:
镜像自身是只读的。容器从镜像启动的时候,会在镜像的最上层创建一个可写层。
docker仓库
docker仓库类似于代码仓库,是docker集中存放镜像文件的场所。
安装docker引擎
CentOS 7 (使用yum进行安装)
|
|
安装校验
|
|
|
|
使用Docker镜像
获取镜像
centos7将docker的仓库改为aliyun的镜像仓库
|
|
可以访问阿里云https://cr.console.aliyun.com/cn-hangzhou/mirrors
登录后获取自己专有的镜像地址
|
|
例如,获取最新的ubuntu
|
|
|
|
也可以指定标签:
|
|
|
|
使用该镜像:例如利用该镜像创建一个容器,在其中运行bash应用,执行打印”Hello World”命令:
|
|
|
|
查看镜像信息
使用images命令列出镜像
|
|
|
|
|
|
在列出信息中,可以看到几个字段信息:
- 来自于哪个仓库,比如ubuntu表示ubuntu系列的基础镜像
- 镜像的标签信息,比如latest表示不同的版本信息。标签只是标记,并不能表示镜像内容;
- 镜像的ID(唯一表示镜像),如果两个镜像的ID相同,说明它们实际上指向了同一个镜像,只是具有不同标签名称而已;
- 创建时间,说明镜像最后的更新时间;
- 镜像大小,优秀的镜像往往体积都较小。
其中镜像的ID信息十分重要,它唯一标识了镜像。在使用镜像ID的时候,一般可以使用该ID的前若干个字符组成的可区分串来替代完成的ID.
使用tag命令添加镜像标签
|
|
再次使用docker images列出本地主机上镜像信息,可以看到多了一个myubuntu:latest标签的镜像
|
|
|
|
myubuntu:latest镜像的ID跟ubuntu:latest是完全一致的,它们实际上指向了同一个镜像文件,只是别名不同而已。docker tag命令添加的标签实际上起到了类似链接作用。
使用inspect命令查看详细信息
|
|
|
|
可以使用-f来指定其中一项内容
|
|
|
|
使用history命令查看镜像历史
|
|
|
|
使用–no-trunc选项来输出完整命令
|
|
搜寻镜像
|
|
|
|
删除和清理镜像
使用标签删除镜像
|
|
使用镜像ID来删除镜像
|
|
|
|
|
|
|
|
可以使用-f强制删除,但是不建议
|
|
正确的做法是,先删除依赖该镜像的所有容器,再来删除镜像。
首先删除容器5f87667367e0:
|
|
然后使用ID来删除镜像
|
|
|
|
清理镜像
|
|
创建镜像
基于已有容器创建
|
|
|
|
基于本地模版导入
|
|
|
|
基于Dockerfile创建