Docker 本地导入导出

本文最后更新于:2024年3月18日 凌晨

Docker 本地导入导出

概述

  • docker save保存的是镜像(image),docker export保存的是容器(container)
  • docker load用来载入镜像包,docker import 用来载入容器包,但两者都会恢复为镜像。
  • docker export导出的是一个容器的快照,不是镜像本身,也就是说没 layer,dockerfile 里的workdir,entrypoint之类的所有东西都会丢失,commit过的话也会丢失。
  • docker export快照文件将丢弃所有的历史记录和元数据信息(即仅保存容器当时的快照状态),而docker save镜像存储文件将保存完整记录,体积也更大。
  • docker load不能对载入的镜像重命名,而docker import可以为镜像指定新名称。

命令

export

  • 将文件系统作为一个tar归档文件导出到STDOUT
1
$ docker export [OPTIONS] CONTAINER
  • -o:将输入内容写到文件。
  • 将id为a404c6c174a2的容器按日期保存为tar文件。

实例

  • -o:将输入内容写到文件。
1
2
3
4
$ docker export -o mysql-`date +%Y%m%d`.tar a404c6c174a2

$ ls mysql-`date +%Y%m%d`.tar
mysql-20160711.tar

import

  • 从归档文件中创建镜像。
1
$ docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]
  • -c:应用docker 指令创建镜像;
  • -m:提交时的说明文字。

实例

  • 从镜像归档文件my_ubuntu_v3.tar创建镜像,命名为test/ubuntu:v4
1
2
3
4
5
6
$ docker import  my_ubuntu_v3.tar test/ubuntu:v4
sha256:63ce4a6d6bc3fabb95dbd6c561404a309b7bdfc4e21c1d59fe9fe4299cbfea39

$ docker images test/ubuntu:v4
REPOSITORY TAG IMAGE ID CREATED SIZE
test/ubuntu v4 63ce4a6d6bc3 20 seconds ago 142.1 MB

save

  • 将指定镜像保存成 tar 归档文件。
1
$ docker save [OPTIONS] IMAGE [IMAGE...]
  • -o:输出到的文件。

实例

  • 将镜像 test/ubuntu:v3 生成 my_ubuntu_v3.tar 文档。
1
2
3
4
$ docker save -o my_ubuntu_v3.tar test/ubuntu:v3

$ ll my_ubuntu_v3.tar
-rw------- 1 test test 142102016 Jul 11 01:37 my_ubuntu_v3.ta

load

  • 导入使用docker save命令导出的镜像。
1
docker load [OPTIONS]
  • –input , -i:指定导入的文件,代替 STDIN
  • –quiet , -q:精简输出信息。

实例

  • 导入镜像:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE

$ docker load < busybox.tar.gz
Loaded image: busybox:latest

$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
busybox latest 769b9341d937 7 weeks ago 2.489 MB

$ docker load --input fedora.tar
Loaded image: fedora:rawhide
Loaded image: fedora:20

$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
busybox latest 769b9341d937 7 weeks ago 2.489 MB
fedora rawhide 0d20aec6529d 7 weeks ago 387 MB
fedora 20 58394af37342 7 weeks ago 385.5 MB
fedora heisenbug 58394af37342 7 weeks ago 385.5 MBs
fedora latest 58394af37342 7 weeks ago 385.5 MB

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!