docker深入1-导入导出images和container的方式
docker深入1-导入导出images和container的方式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
环境准备:
$ docker run -d --name app1 -p 10023:22 pcnk/base:v2
$ 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
$ docker commit -m "ssh,supervisor" -a "pcnk" c10446ab9620 base:latest
29e0b4550969220103e7179df62f31f3f1345a364c4fb103f73a5ba3b6f8fc5d
$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
base latest 29e0b4550969 About a minute ago 251.3 MB
一、container的导入导出
保存:
$ docker export app1 >/home/datacenter/docker/containers/app1.tar
删除:
$ docker stop app1
app1
$ docker rm app1
app1
恢复:
$ cat /home/datacenter/docker/containers/app1.tar |docker import - base_import
c9761ff46cf1ff3e0f1de04ed2fcf52b0b591b6fd0ea943611f2066046a17aae
$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
base_import latest c9761ff46cf1 15 seconds ago 228.1 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
$ 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的导入导出
注:据文档解释,这种方式,不会丢失提交历史和层,可以回滚,但,目前尚未操作过回滚。
保存:
$ docker save base > /home/datacenter/docker/images/base.tar
删除:
$ docker rmi 29e0b4550969
Untagged: base:latest
Deleted: 29e0b4550969220103e7179df62f31f3f1345a364c4fb103f73a5ba3b6f8fc5d
恢复:
$ docker load </home/datacenter/docker/images/base.tar
$ 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
$ 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过程
$ docker history base_import
IMAGE CREATED CREATED BY SIZE
c9761ff46cf1 41 minutes ago 228.1 MB
$ 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
$ docker history --help
Usage: docker history 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
$ 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 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 '\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
页:
[1]