|
|
[root@docker ~]# docker pull registry. P8 Q4 A6 J; {
Using default tag: latest2 G Y4 }7 ] i5 i$ @0 Z/ \9 Q
latest: Pulling from library/registry1 p P1 P3 ~, @1 e0 e: N
ddad3d7c1e96: Pull complete 2 ~* v" G8 |7 v3 N
6eda6749503f: Pull complete
o9 h5 k6 S# Y6 |$ |5 Y, V363ab70c2143: Pull complete
5 _) p4 O' l% \( C' z. w4 z: b5b94580856e6: Pull complete # t) V; K5 }) G; X8 R( N
12008541203a: Pull complete
. c' W8 \5 _# N* B: |Digest: sha256:bac2d7050dc4826516650267fe7dc6627e9e11ad653daca0641437abdf18df27
( F( b& Q: q- nStatus: Downloaded newer image for registry:latest5 Z. n4 f! R0 ?/ a4 v
docker.io/library/registry:latest V% l% I% ?) b- C1 G' q
一、使用 export 和 import
- x4 i0 A; ^3 }1,查看本机的容器6 Y1 e& T- F: s. V6 `! J- t! Q8 F
这两个命令是通过容器来导入、导出镜像。首先我们使用 docker ps -a 命令查看本机所有的容器。, K4 [/ e/ ^! @# G6 K
原文:Docker - 实现本地镜像的导出、导入(export、import、save、load)2,导出镜像
7 ^+ @6 l0 z$ k. m; }3 C' l(1)使用 docker export 命令根据容器 ID 将镜像导出成一个文件。
. k/ M; B3 m2 y ]+ B1 J; Rdocker ps4 Z" ?. n1 L1 r# S1 t7 _
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES; P0 d r- V$ g4 L2 j' A6 J
89ee2138e226 registry "/entrypoint.sh /etc…" 6 seconds ago Up 4 seconds 0.0.0.0:4000->4000/tcp, :::4000->4000/tcp, 5000/tcp nifty_keldysh
% G: C# E/ B3 n8 \[root@docker ~]# docker export 89ee2138e226 > registry-new.tar
/ s% H) n4 R& J; O(2)上面命令执行后,可以看到文件已经保存到当前的 docker 终端目录下。
/ D* r$ I/ p9 m% q$ `8 [3,导入镜像9 E# s$ B2 T' b! a$ T) J* z; R
(1)使用 docker import 命令则可将这个镜像文件导入进来。
! d4 ~9 ^3 a+ _1 U6 [4 x! I* H, u2 b
docker import - registry < registry.tar(2)执行 docker images 命令可以看到镜像确实已经导入进来了。
8 b, q v9 a0 @% X5 ~" k+ a3 e6 P) ^+ ]1 `% b0 N+ q6 Y$ p/ z# N
二、使用 save 和 load( Q5 V# c& R3 [ |* }
1,查看本机的容器 A7 _2 b+ P4 Z" d: n
这两个命令是通过镜像来保存、加载镜像文件的。首先我们使用 docker images 命令查看本机所有的镜像。9 E8 D1 r: z6 e! y: _& @! T
' @: J- O$ e2 C' g0 [1 @2 Q
2,保存镜像
. b/ `4 K P7 O(1)下面使用 docker save 命令根据 ID 将镜像保存成一个文件。
; ]0 j8 P7 z( I( \[root@docker ~]# docker save 1fd8e1b0bb7e > registry.tar
( |2 ?3 @2 D$ I2 N: o(2)我们还可以同时将多个 image 打包成一个文件,比如下面将镜像库中的 postgres 和 mongo 打包:+ S& j7 n: m4 B: O y/ p! f
2 P+ b2 O8 n; gdocker save -o images.tar nova_api mariadb,载入镜像
7 D; l3 p, h# p* q& K
0 A. I% ?% h' b使用 docker load 命令则可将这个镜像文件载入进来。
$ L' w4 F% Q- P) J" E
h+ P9 [2 O6 Y( qdocker load <registry.tar v+ ?$ @! i9 u- P9 k! k2 X
|
|