文章目录
容器是独立运行的一个或一组应用,以及它们的运行态环境
#1 启动容器
- 启动容器有两种方式,一种是基于镜像新建一个容器并启动,另外一个是将在终止状态(stopped)的容器重新启动
- 新建并启动:
docker run
- -t 选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上
- 启动已终止容器:
docker container start
- 新建并启动:
- 当利用 docker run 来创建容器时,Docker 在后台运行的标准操作包括:
- 检查本地是否存在指定的镜像,不存在就从公有仓库下载
- 利用镜像创建并启动一个容器
- 分配一个文件系统,并在只读的镜像层外面挂载一层可读写层
- 从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去
- 从地址池配置一个 ip 地址给容器
- 执行用户指定的应用程序
#2 后台运行
- 让 Docker 在后台运行而不是直接把执行命令的结果输出在当前宿主机下。此时,可以通过添加 -d 参数来实现:
docker run -d
- 通过
docker container ls
命令来查看容器信息 - 通过
docker container logs
命令获取容器的输出信息
#3 终止容器 - 使用
docker container stop
来终止一个运行中的容器,当 Docker 容器中指定的应用终结时,容器也自动终止。 - docker container restart 命令会将一个运行态的容器终止,然后再重新启动它
- docker container start 命令来重新启动处于终止状态的容器
#4 进入容器 - attach命令:
docker attach 容器id
- 从这个 stdin 中 exit,会导致容器的停止
- exec命令:
docker exec [-it] 容器id
- 从这个 stdin 中 exit,不会导致容器的停止
#5 导出和导入容器
- 从这个 stdin 中 exit,不会导致容器的停止
- 导出容器(容器 - > 本地文件)
- docker export 容器ID > 本地文件名
- 导入容器(本地文件 -> 镜像)
- docker import 本地文件名 用户组/镜像名(仓库名:标签)
- 注:用户既可以使用 docker load 来导入镜像存储文件到本地镜像库,也可以使用 docker import 来导入一个容器快照到本地镜像库。这两者的区别在于容器快照文件将丢弃所有的历史记录和元数据信息(即仅保存容器当时的快照状态),而镜像存储文件将保存完整记录,体积也要大。此外,从容器快照文件导入时可以重新指定标签等元数据信息
#6 删除容器 - 使用
docker container rm 容器名
来删除一个处于终止状态的容器,如果要删除一个运行中的容器,可以添加 -f 参数 - 用
docker container ls -a
命令可以查看所有已经创建的包括终止状态的容器,如果数量太多要一个个删除可能会很麻烦,用下面的命令可以清理掉所有处于终止状态的容器docker container prune