二、容器
容器即运行中的镜像
2.1 创建容器
2.1.1 新建容器
命令:docker create ubuntu:latest
新建的容器处于停止状态,可启动它
命令:docker start [ID]
2.1.2 新建并启动容器
命令:docker run ubuntu:latest
- 检查本地是否存在指定镜像,不存在就从共有仓库下载
- 利用镜像创建并启动一个容器
- 分配一个文件系统,并在只读的镜像外挂一层可读写层
- 从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去
- 从地址池配置一个IP地址给容器
- 执行用户指定的应用程序
- 执行完毕后容器被终止
参数:
- -t:分配一个伪终端并绑定到容器的表准输入上
- -i:让容器的表准输入打开
- -d:守护态运行
2.2 终止容器
情况1:自动终止,在bash环境下,按Ctrl+d或exit命令来推出容器,对于创建的bash容器来说,退出后该容器就处于终止状态,对docker来说应用终止后容器也没必要继续运行。
情况2:终止守护态容器,docker stop
终止后的容器可以用docker restart命令来重新启动它
2.3 进入容器
docker attach:当多个窗口同时attach到同一个容器时,所有窗口同步显示或阻塞
docker exec -ti [ID] /bin/bash
nsenter工具:该工具包含在util-linux包中
2.4 删除容器
命令:docker rm
参数:
- -f:强制删除一个运行中的容器
- -l:删除容器的链接,保留容器
- -v:删除容器挂载的数据卷
2.5 导入和导出容器
导出容器
命令:docker export [ID/NAME] > fileName.tar
导入容器:
命令:docker import - [REPOSITORY]:[TAG]
可以通过docker load命令来导入镜像存储文件到本地镜像库,也可以使用docker import命令来导入一个容器快照到本地镜像库。
容器快照导入将丢弃所有历史记录和元数据信息,而镜像存储文件导入将保存完整记录,体积也要庞大些。从容器快照导入可以重新指定标签等元数据信息