使用Docker的过程中,很多时候Docker仓库中提供的镜像已经足够我们使用,但难免会出现,由于业务原因或其他特殊原因需要对镜像进行改造的场景,此时,需要对镜像进行扩展,以使镜像可以满足我们的需求。

  创建镜像一般有三种方式:

· 基于已有镜像创建镜像。

· 基于本地模板导入镜像。

· 基于dockerfile创建镜像。

  今天,就先来说说基于本地模板导入镜像。

  公用模板导入

  · 模板下载

  访问https://wiki.openvz.org/Download/template/precreated,根据需求下载模板,本文选择centos-6-x86_64-20170709.tar.xz下载。

pve docker如何看 ip pve docker 模板_pve docker如何看 ip

  在宿主机上下载链接http://download.openvz.org/template/precreated/contrib/centos-6-x86_64-20170709.tar.xz。

pve docker如何看 ip pve docker 模板_save_02

pve docker如何看 ip pve docker 模板_import_03

  · 导入模板

  使用import导入已下载的镜像。

cat centos-6-x86_64-20170709.tar.xz|docker import - centos6

pve docker如何看 ip pve docker 模板_docker_04

  镜像export import

  export和import可以通过容器导出、导入镜像。

  · 查看镜像

  通过docker ps -a查看本机所有容器,本文使用已经存在如下所列的容器,选择centos:7进行导出、导入测试。

pve docker如何看 ip pve docker 模板_docker_05

  · 导出镜像

  通过docker export导出镜像,完整命令如下所示。

docker export b564267a6ca8 > /securitit/docker/exportimport/securitit-centos7.tar

pve docker如何看 ip pve docker 模板_save_06

  · 导入镜像

  通过docker import导入镜像,完整命令如下所示。

docker import - securitit-centos7 < /securitit/docker/exportimport/securitit-centos7.tar

  执行命令后,通过docker images命令可以查看新导入的镜像。

pve docker如何看 ip pve docker 模板_export_07

  镜像save load

  save和load可通过镜像来保存、加载镜像文件。

  · 查看镜像

  通过docker images查看本机镜像,本文使用已经存在如下所列的容器,选择centos:7进行导出、导入测试。

pve docker如何看 ip pve docker 模板_import_08

  · 保存镜像

  通过docker save导出镜像,完整命令如下所示。

# 保存镜像文件到指定目录.
docker save 7e6257c9f8d8 > /securitit/docker/exportimport/securitit-centos7-01.tar
# 多个镜像打包到一起.
# docker save -o 3dda71663c12 7e6257c9f8d8

pve docker如何看 ip pve docker 模板_export_09

  · 加载镜像

  通过docker load导入镜像,完整命令如下所示。

docker load < /securitit/docker/exportimport/securitit-centos7-01.tar

pve docker如何看 ip pve docker 模板_docker_10

  总结

  某些情况下,可能需要导出已经存在的镜像,离线传输到其他宿主机使用,此时,export、import、save和load就会十分有用。

  若文中存在错误和不足,欢迎指正!