docker容器

当利用docker [container] run来创建并启动容器时,Docker在后台运行的标准操作包括:

  • 检查本地是否存在指定的镜像,不存在就从公有仓库下载;
  • 利用镜像创建一个容器,并启动该容器;
  • 分配一个文件系统给容器,并在只读的镜像层外面挂载一层可读写层;
  • 从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去;
  • 从网桥的地址池配置一个IP地址给容器;
  • 执行用户指定的应用程序;
  • 执行完毕后容器被自动终止。

docker [container] import 导入容器快照到本地镜像库,弃所有的历史记录和元数据信息(即仅保存容器当时的快照状态),从容器快照文件导人时可以重新指定标签等元数据信息。
docker load 导入镜像存储文件到本地镜像库,镜像存储文件将保存完整记录,体积更大

  • 查看端口映射 docker port nginx
  • 查看变更 docker diff nginx
  • 复制文件 docker cp data nginx:/tmp/ (本地的路径data复制到test容器的/tmp路径)
  • 更新配置 docker update命令可以更新容器的一些运行时配置,主要是一些资源限制份额

容器中的管理数据主要有两种方式

  • 数据卷(DataVolumes): 容器内数据直接映射到本地主机环境;
  • 数据卷容器(DataVolume Containers): 使用特定容器维护数据卷

数据卷可以提供很多有用的特性:

  • 数据卷可以在容器之间共事和重用,容器间传递数据将变得高效与方便;
  • 对数据卷内数据的修改会立马生效,无论是容器内操作还是本地操作;
  • 对数据卷的更新不会影响镜像,解摘开应用和数据;
  • 数据卷会一直存在,直到没有容器使用,可以安全地卸载它

Docker通过引人分层文件系统构建和高效的镜像机制,降低了迁移难度