|
|
[root@docker ~]# docker pull registry: U' E* C; X) s3 u: p
Using default tag: latest8 J' [# q7 ^- H4 }2 [5 \5 `
latest: Pulling from library/registry6 m1 p+ V5 C4 f+ b/ y Y
ddad3d7c1e96: Pull complete
# f, u4 B* b" b9 q6eda6749503f: Pull complete + Z9 o: L) m/ y5 C
363ab70c2143: Pull complete
+ {* x! @" q$ ^1 m0 B6 V+ `5b94580856e6: Pull complete
5 A4 t* ]( P9 ?, \: ]- Q12008541203a: Pull complete
' b: B/ L6 R# g6 P) uDigest: sha256:bac2d7050dc4826516650267fe7dc6627e9e11ad653daca0641437abdf18df27
& _' G" r) v0 V' f% n" ^) J- uStatus: Downloaded newer image for registry:latest: f0 s. \* @- V
docker.io/library/registry:latest3 N+ a( ~4 ]. ~* U% a, e" I
一、使用 export 和 import
% k4 c" I+ Z% [9 {1,查看本机的容器
: W8 I9 j6 |: H% a" y9 C这两个命令是通过容器来导入、导出镜像。首先我们使用 docker ps -a 命令查看本机所有的容器。3 w8 W. O0 `4 M& w! M1 k u$ \- m
原文:Docker - 实现本地镜像的导出、导入(export、import、save、load)2,导出镜像
# I e7 o+ W7 L$ I. {8 b(1)使用 docker export 命令根据容器 ID 将镜像导出成一个文件。
0 J% y7 h1 U: y8 N0 f8 i% Q! u; o& Idocker ps; \6 j1 ?8 L a' j# }# [/ k
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES7 s' V: p2 a. K! a C
89ee2138e226 registry "/entrypoint.sh /etc…" 6 seconds ago Up 4 seconds 0.0.0.0:4000->4000/tcp, :::4000->4000/tcp, 5000/tcp nifty_keldysh6 f, L) W: b/ l. o9 d) e2 a0 G
[root@docker ~]# docker export 89ee2138e226 > registry-new.tar
: x) }' C: {1 t. ?- c @(2)上面命令执行后,可以看到文件已经保存到当前的 docker 终端目录下。+ n6 t" b0 x" `' l# K! X% x
3,导入镜像1 X/ ?8 M% f, V8 }$ \
(1)使用 docker import 命令则可将这个镜像文件导入进来。3 l: f+ i& T r: O& @
0 j% l& K, f. l9 U
docker import - registry < registry.tar(2)执行 docker images 命令可以看到镜像确实已经导入进来了。
8 m9 G- w! p7 V0 O3 b; P: N' J! ?2 ~
* L3 W1 [/ K/ I二、使用 save 和 load: p! m9 V% D! f1 z
1,查看本机的容器1 j4 d7 h, q! N2 E! j' V8 Y$ k
这两个命令是通过镜像来保存、加载镜像文件的。首先我们使用 docker images 命令查看本机所有的镜像。
& o) H0 \4 n0 e" B+ q; o0 n
: t: E2 `, h" H4 r5 h4 f4 s2,保存镜像+ n# }* V" l4 r
(1)下面使用 docker save 命令根据 ID 将镜像保存成一个文件。
" V( R, T3 B" q/ u" ^[root@docker ~]# docker save 1fd8e1b0bb7e > registry.tar
1 K" |, [8 ~% `7 C* O(2)我们还可以同时将多个 image 打包成一个文件,比如下面将镜像库中的 postgres 和 mongo 打包:
z1 f* y5 H* ~4 ?
! W. @3 m! u+ |0 f* T6 Q% Xdocker save -o images.tar nova_api mariadb,载入镜像; W& ]+ [" N a. |
5 c! f3 K9 y) N u
使用 docker load 命令则可将这个镜像文件载入进来。
/ w# p3 Q' O0 R6 y% ]* H" ]# p) c& _. x7 o- X5 B6 H
docker load <registry.tar
% T p; O+ ^ O+ k5 a; B |
|