**备份 **

**备份 **

1.备份docker容器

1
docker export "容器名" > "备份包名".tar

2.导出inspect信息

 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
#用于查看挂载目录、映射端口、启动命令、网络等
docker inspect "容器名" > "备份信息.inspect".txt
######查看挂载目录
docker inspect "容器名"|grep -iA9 mounts
-----------------------------------------
        "Mounts": [
            {
                "Type": "bind",
                "Source": "/Users/ffing/docker/nginx/",
                "Destination": "/usr/share/nginx/html",
                "Mode": "ro",
                "RW": false,
                "Propagation": "rprivate"
            }
        ],
------------------------------------------
#解析
#Type:挂载类型,可以是bind(绑定挂载)或volume(卷挂载)。
#Source:主机上的路径,即挂载目录的源路径。
#Destination:容器内的路径,即挂载目录在容器中的目标路径。
#Mode:挂载目录的访问模式。
#RW:是否可读写,true表示可读写,false表示只读。
#Propagation:挂载目录的传播方式,可以是rprivate、rshared、rslave或private。
#Driver:卷的驱动程序,对于绑定挂载则为空。
#Name:卷的名称,对于绑定挂载则为空。



###查看映射端口
docker inspect "容器名"|grep -iA9 ports
-----------------------------------------
            "Ports": {
                "80/tcp": [
                    {
                        "HostIp": "0.0.0.0",
                        "HostPort": "888"
                    }
                ]
            },
-----------------------------------------
#解析
#HostPort:本地映射端口
#80/tcp:容器端口为80


#查看启动命令
docker inspect "容器名"|grep -iA9 cmd
-----------------------------------------
            "Cmd": [
                "nginx",
                "-g",
                "daemon off;"
            ],
-----------------------------------------
#解析
#拼合命令为:nginx -g 'daemon off;'
#(注:"daemon off;"中间有空格,需用引号组成整体)

3.查看容器启动详细信息

1
2
3
#docker ps 当字符串长度超限时,会自动缩写,无法完整显示
#docker ps --no-trunc:打印当前容器启动详细信息,尤其是command命令信息
docker ps --no-trunc |tree "备份信息.cmd".txt

导入

1
2
3
4
5
6
7
#导入
docker import "备份名".tar "容器名":"版本" 
#查看导入的镜像
docker images

#删除镜像
docker rmi -f "镜像名或id"

启动

1
docker run -d --name "容器名" -v "挂载本地目录":"容器映射目录" -p "本地端口":"容器端口" "镜像名" "启动命令(查看备份信息)"

验证

1
2
3
4
#查看当前启动的
docker ps
#查看当前和历史全部容器
docker ps -a

启动、停止、删除容器

1
2
3
docker start "容器名"
docker stop  "容器名"
docker rm    "容器名"