1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
环境准备:
[Jack@test101 base]$ docker run -d --name app1 -p 10023:22 pcnk /base :v2
[Jack@test101 base]$ docker  ps  -a
CONTAINER ID        IMAGE                 COMMAND                CREATED             STATUS              PORTS                                       NAMES
c10446ab9620        pcnk /base :v2          " /usr/bin/supervisor    9 seconds ago       Up 7 seconds        0.0.0.0:10023->22 /tcp                        app1                
 
 
[Jack@test101 base]$ docker commit -m  "ssh,supervisor"  -a  "pcnk"  c10446ab9620 base:latest    
29e0b4550969220103e7179df62f31f3f1345a364c4fb103f73a5ba3b6f8fc5d
 
 
[Jack@test101 base]$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED              VIRTUAL SIZE
base                latest              29e0b4550969        About a minute ago   251.3 MB
 
 
 
一、container的导入导出
保存:
[Jack@test101 base]$ docker  export  app1 > /home/datacenter/docker/containers/app1 . tar
 
删除:
[Jack@test101 base]$ docker stop app1
app1
[Jack@test101 base]$ docker  rm  app1  
app1
 
 
恢复:
[Jack@test101 base]$  cat  /home/datacenter/docker/containers/app1 . tar  |docker  import  - base_import
c9761ff46cf1ff3e0f1de04ed2fcf52b0b591b6fd0ea943611f2066046a17aae
[Jack@test101 base]$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
base_import         latest              c9761ff46cf1        15 seconds ago      228.1 MB
base                latest              29e0b4550969        13 minutes ago      251.3 MB
website /sync         latest              1bda5d872bf7        About an hour ago   508 MB
pcnk /base            v2                  064aa35dfcef        7 hours ago         251.3 MB
centos              centos7             fd44297e2ddb        2 weeks ago         215.7 MB
centos              latest              fd44297e2ddb        2 weeks ago         215.7 MB
centos              7                   fd44297e2ddb        2 weeks ago         215.7 MB
[Jack@test101 base]$ docker images -tree
Warning:  '-tree'  is deprecated, it will be removed soon. See usage.
├─c9761ff46cf1 Virtual Size: 228.1 MB Tags: base_import:latest
└─6941bfcbbfca Virtual Size: 0 B
   └─41459f052977 Virtual Size: 215.7 MB
     └─fd44297e2ddb Virtual Size: 215.7 MB Tags: centos:7, centos:centos7, centos:latest
       └─751a85a0d00b Virtual Size: 215.7 MB
         └─19b009f08542 Virtual Size: 228.1 MB
           └─420cb9e73c70 Virtual Size: 251.3 MB
             └─e97f94a79de0 Virtual Size: 251.3 MB
               └─fde06c761bde Virtual Size: 251.3 MB
                 └─dbfae1099999 Virtual Size: 251.3 MB
                   └─064aa35dfcef Virtual Size: 251.3 MB Tags: pcnk /base :v2
                     └─b41b76b51e1a Virtual Size: 505.9 MB
                       └─1bda5d872bf7 Virtual Size: 508 MB Tags: website /sync :latest
 
没有之前的层的信息,变成了独立的一层:
├─c9761ff46cf1 Virtual Size: 228.1 MB Tags: base_import:latest
 
二、images的导入导出
注:据文档解释,这种方式,不会丢失提交历史和层,可以回滚,但,目前尚未操作过回滚。
 
保存:
[Jack@test101 base]$ docker save base >  /home/datacenter/docker/images/base . tar 
 
删除:
[Jack@test101 base]$ docker rmi 29e0b4550969
Untagged: base:latest
Deleted: 29e0b4550969220103e7179df62f31f3f1345a364c4fb103f73a5ba3b6f8fc5d
 
恢复:
[Jack@test101 base]$ docker load < /home/datacenter/docker/images/base . tar           
[Jack@test101 base]$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED              VIRTUAL SIZE
base_import         latest              c9761ff46cf1        About a minute ago   228.1 MB
base                latest              29e0b4550969        17 minutes ago       251.3 MB
website /sync         latest              1bda5d872bf7        About an hour ago    508 MB
pcnk /base            v2                  064aa35dfcef        7 hours ago          251.3 MB
centos              7                   fd44297e2ddb        2 weeks ago          215.7 MB
centos              centos7             fd44297e2ddb        2 weeks ago          215.7 MB
centos              latest              fd44297e2ddb        2 weeks ago          215.7 MB
[Jack@test101 base]$ docker images --tree
Warning:  '--tree'  is deprecated, it will be removed soon. See usage.
├─c9761ff46cf1 Virtual Size: 228.1 MB Tags: base_import:latest
└─6941bfcbbfca Virtual Size: 0 B
   └─41459f052977 Virtual Size: 215.7 MB
     └─fd44297e2ddb Virtual Size: 215.7 MB Tags: centos:latest, centos:7, centos:centos7
       └─751a85a0d00b Virtual Size: 215.7 MB
         └─19b009f08542 Virtual Size: 228.1 MB
           └─420cb9e73c70 Virtual Size: 251.3 MB
             └─e97f94a79de0 Virtual Size: 251.3 MB
               └─fde06c761bde Virtual Size: 251.3 MB
                 └─dbfae1099999 Virtual Size: 251.3 MB
                   └─064aa35dfcef Virtual Size: 251.3 MB Tags: pcnk /base :v2
                     ├─29e0b4550969 Virtual Size: 251.3 MB Tags: base:latest
                     └─b41b76b51e1a Virtual Size: 505.9 MB
                       └─1bda5d872bf7 Virtual Size: 508 MB Tags: website /sync :latest
 
恢复出来的image,还是有原来的层的信息:
                     ├─29e0b4550969 Virtual Size: 251.3 MB Tags: base:latest
 
三、查看 history 可以观察到这个image的build过程
 
[Jack@test101 base]$ docker  history  base_import
IMAGE               CREATED             CREATED BY          SIZE
c9761ff46cf1        41 minutes ago                          228.1 MB
[Jack@test101 base]$ docker  history  base
IMAGE               CREATED             CREATED BY                                      SIZE
29e0b4550969        57 minutes ago                                                      699 B
064aa35dfcef        8 hours ago          /bin/sh  -c  #(nop) ENTRYPOINT [/usr/bin/superv   0 B
dbfae1099999        8 hours ago          /bin/sh  -c  #(nop) COPY file:b96e75ea47b2d1c16   41 B
fde06c761bde        8 hours ago          /bin/sh  -c  set  -x         &&  /bin/sed  -i 's/.   12.99 kB
e97f94a79de0        8 hours ago          /bin/sh  -c  #(nop) ADD file:0cce39ed9dc5d31da4   807 B
420cb9e73c70        8 hours ago          /bin/sh  -c rpm -ivh http: //dl .fedoraproject.o   23.25 MB
19b009f08542        8 hours ago          /bin/sh  -c yum -y update; yum clean all         12.41 MB
751a85a0d00b        8 hours ago          /bin/sh  -c  #(nop) MAINTAINER pcnk               0 B
fd44297e2ddb        2 weeks ago          /bin/sh  -c  #(nop) CMD ["/bin/bash"]             0 B
41459f052977        2 weeks ago          /bin/sh  -c  #(nop) ADD file:be2a22bb15fbbbf24b   215.7 MB
6941bfcbbfca        2 weeks ago          /bin/sh  -c  #(nop) MAINTAINER The CentOS Proje   0 B
 
 
[Jack@test101 base]$ docker  history  --help
 
Usage: docker  history  [OPTIONS] IMAGE
 
Show the  history  of an image
 
   --help= false          Print usage
   --no-trunc= false      Don't truncate output
   -q, --quiet= false     Only show numeric IDs
   
[Jack@test101 base]$ docker  history  --no-trunc= true  base
IMAGE                                                              CREATED             CREATED BY                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               SIZE
29e0b4550969220103e7179df62f31f3f1345a364c4fb103f73a5ba3b6f8fc5d   58 minutes ago                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               699 B
064aa35dfcef778713ad1b4cc02add4e8e48425741768595d7b5909961f74cee   8 hours ago          /bin/sh  -c  #(nop) ENTRYPOINT [/usr/bin/supervisord]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      0 B
dbfae1099999316cc130ac467768e6c957a98682076b659642d0d8c5ec7587e2   8 hours ago          /bin/sh  -c  #(nop) COPY file:b96e75ea47b2d1c1601aecc355cf21eb6f80d043f512fcedec81a4018d2776a1 in /etc/supervisor.d/sshd.ini                                                                                                                                                                                                                                                                                                                                                                                                                                                                               41 B
fde06c761bde092a37890e94c8d68e16ef0ced5f1c70357a2cc3c4aab51cbe3d   8 hours ago          /bin/sh  -c  set  -x         &&  /bin/sed  -i  's/.*session.*required.*pam_loginuid.so.*/session optional pam_loginuid.so/g'  /etc/pam .d /sshd          &&  ssh -keygen -t rsa -f  /etc/ssh/ssh_host_rsa_key  -N  ''          &&  mkdir  /var/run/sshd   /etc/supervisor .d         &&  /usr/bin/echo_supervisord_conf  > /etc/supervisord .conf          &&  sed  -i  's/nodaemon=false/nodaemon=true/'  /etc/supervisord .conf         &&  echo  -e  '[include]\nfiles=/etc/supervisor.d/*.ini'  >> /etc/supervisord .conf         &&  grep  ^[^\;]  /etc/supervisord .conf         &&  chmod  755  /root/start .sh         && . /root/start .sh   12.99 kB
e97f94a79de0fa89a437ace2a2d14d3cfbba83f8d2f0528660e9028832735d6e   8 hours ago          /bin/sh  -c  #(nop) ADD file:0cce39ed9dc5d31da4c1112794629d4bab2f82e18e7a5bcabdf6defeae4e0657 in /root/start.sh                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            807 B
420cb9e73c70c2e7d20af40d66cae68ed32362072a9aae53e1855c700dc79718   8 hours ago          /bin/sh  -c rpm -ivh http: //dl .fedoraproject.org /pub/epel/7/x86_64/e/epel-release-7-5 .noarch.rpm       && yum -y  install  openssh-server  passwd  python-pip       && yum clean all       &&  /usr/bin/pip  install  supervisor                                                                                                                                                                                                                                                                                                                                                                                 23.25 MB
19b009f08542bcd1e8a5e17e4b1bd60e3e1cadbafcf4eaae914a3ba67784b73e   8 hours ago          /bin/sh  -c yum -y update; yum clean all                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  12.41 MB
751a85a0d00bcbc6fac2051f79a978c9091ed03b6fa451ab4bfff53d28c1f40d   8 hours ago          /bin/sh  -c  #(nop) MAINTAINER pcnk                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        0 B
fd44297e2ddb050ec4fa9752b7a4e3a8439061991886e2091e7c1f007c906d75   2 weeks ago          /bin/sh  -c  #(nop) CMD ["/bin/bash"]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      0 B
41459f052977938b824dd011e1f2bec2cb4d133dfc7e1aa0e90f7c5d337ca9c4   2 weeks ago          /bin/sh  -c  #(nop) ADD file:be2a22bb15fbbbf24b5f13830d9ec31fad7e8bdf251906c79b05ad52cb4eef61 in /                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         215.7 MB
6941bfcbbfca7f4f48becd38f2639157042b5cf9ab8c080f1d8b6d047380ecfc   2 weeks ago          /bin/sh  -c  #(nop) MAINTAINER The CentOS Project <cloud-ops@centos.org>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   0 B