本篇内容主要讲解“Docker镜像导入导出的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Docker镜像导入导出的方法”吧!
docker save
说明:将指定镜像保存成 tar 归档文件,以tar和tar.gz结尾都行。
语法:
docker save [OPTIONS] IMAGE [IMAGE...]
OPTIONS 说明:
-o :输出到的文件。
[root@harbor tmp]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEredis v1 cc6cf492f595 6 hours ago 113MBbusybox latest beae173ccac6 3 months ago 1.24MBnginx latest 605c77e624dd 3 months ago 141MBredis latest 7614ae9453d1 3 months ago 113MB[root@harbor tmp]# docker save -o nginx.tar nginx:latest[root@harbor tmp]# lsnginx.tar[root@harbor tmp]# docker save -o nginx.tar.gz nginx:latest[root@harbor tmp]# lsnginx.tar nginx.tar.gz
docker load
说明:导入使用 docker save 命令导出的镜像。
语法:
docker load [OPTIONS]
OPTIONS 说明:
--input , -i :指定导入的文件,代替 STDIN。
--quiet , -q :精简输出信息。
以tar.gz结尾镜像包导入
[root@harbor tmp]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEredis latest 7614ae9453d1 3 months ago 113MB[root@harbor tmp]# docker load < nginx.tar.gze379e8aedd4d: Loading layer [==================================================>] 62MB/62MBb8d6e692a25e: Loading layer [==================================================>] 3.072kB/3.072kBf1db227348d0: Loading layer [==================================================>] 4.096kB/4.096kB32ce5f6a5106: Loading layer [==================================================>] 3.584kB/3.584kBd874fd2bc83b: Loading layer [==================================================>] 7.168kB/7.168kBLoaded image: nginx:latest[root@harbor tmp]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEnginx latest 605c77e624dd 3 months ago 141MBredis latest 7614ae9453d1 3 months ago 113MB
以tar结尾镜像包导入
[root@harbor tmp]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEredis latest 7614ae9453d1 3 months ago 113MB[root@harbor tmp]# docker load < nginx.tare379e8aedd4d: Loading layer [==================================================>] 62MB/62MBb8d6e692a25e: Loading layer [==================================================>] 3.072kB/3.072kBf1db227348d0: Loading layer [==================================================>] 4.096kB/4.096kB32ce5f6a5106: Loading layer [==================================================>] 3.584kB/3.584kBd874fd2bc83b: Loading layer [==================================================>] 7.168kB/7.168kBLoaded image: nginx:latest[root@harbor tmp]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEnginx latest 605c77e624dd 3 months ago 141MBredis latest 7614ae9453d1 3 months ago 113MB
Docker export 命令
说明:将指定运行或停止的容器导出为tar包。
语法:
docker export [OPTIONS] CONTAINER
OPTIONS说明:
-o :将输入内容写到文件。
使用redis:latest
镜像运行一个docker redis容器。
[root@harbor tmp]# docker run -d --name redis redis:latest00bd9bf582ffdf7dc89793252de9b663ce5b685061bb3652d167924270bed423[root@harbor tmp]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES00bd9bf582ff redis:latest "docker-entrypoint.s…" 3 seconds ago Up 2 seconds 6379/tcp redis
将运行中的redis容器导出称为redis.tar.gz包。
[root@harbor tmp]# docker export -o redis.tar.gz redis[root@harbor tmp]# lsnginx.tar nginx.tar.gz redis.tar.gz
停止redis容器
[root@harbor tmp]# docker stop redisredis
将已经停止的redis容器导出为redis1.tzr.gz包
[root@harbor tmp]# docker export -o redis1.tar.gz redis[root@harbor tmp]# lsnginx.tar nginx.tar.gz redis1.tar.gz redis.tar.gz
Docker import
说明:从 tar包导入内容以docker 镜像。
语法
docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]
OPTIONS说明:
-c :应用docker 指令创建镜像;
-m :提交时的说明文字
您可以指定一个URL
或-
(破折号)直接从STDIN
. URL
可以指向包含文件系统的存档(.tar、.tar.gz、.tgz、.bzip、.tar.xz 或 .txz)或 Docker 主机上的单个文件。 如果你指定一个存档,Docker 会在相对于/
(root) 的容器中解压它。如果指定单个文件,则必须指定主机内的完整路径。要从远程位置导入,请指定以or协议URI
开头的 a。http://
https://
[root@harbor tmp]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEredis latest 7614ae9453d1 3 months ago 113MB[root@harbor tmp]# docker import redis1.tar.gz redis:v1sha256:07d6e5a00daa386ed5117d7bf7751f74b46f5831aea69036580cd509bb6781e7[root@harbor tmp]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEredis v1 07d6e5a00daa 2 seconds ago 109MBredis latest 7614ae9453d1 3 months ago 113MB
通过url导出镜像
docker import https://example.com/exampleimage.tgz
到此,相信大家对“Docker镜像导入导出的方法”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!