trsgw 发表于 2015-5-7 08:48:43

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



WilliamKax 发表于 2020-3-26 18:49:40

页: [1]
查看完整版本: docker深入1-导入导出images和container的方式