wind-cold 发表于 2018-5-29 14:06:32

docker删除挂载数据卷以及容器数据卷

  关于docker数据卷以及数据卷容器创建,请参考上一编博文。

  

  删除容器内挂载的数据卷,数据卷的内容依然存在,实例如下:
  

  查看容器node1的相关Volumes目录位置以及ID信息
root@zxl-node4:~# docker inspect node1
[{
    "AppArmorProfile": "",
    "Args": [],
    "Config": {
      "AttachStderr": false,
      "AttachStdin": false,
      "AttachStdout": false,
      "Cmd": [
            "/bin/bash"
      ],
...................
..................
    "Volumes": {
      "/data-node1": "/var/lib/docker/vfs/dir/1384d0111ec71e32be36ce7ccbb137b80cb87380ec14e06a0bdecc24b1332754" //数据卷目录位置
    },
    "VolumesRW": {
      "/data-node1": true
    }
}
]  

  查看容器node1的对应的数据卷目录相关数据信息
root@zxl-node4:~# cd /var/lib/docker/vfs/dir/1384d0111ec71e32be36ce7ccbb137b80cb87380ec14e06a0bdecc24b1332754/
root@zxl-node4:/var/lib/docker/vfs/dir/1384d0111ec71e32be36ce7ccbb137b80cb87380ec14e06a0bdecc24b1332754# ls  创建几个文件
root@zxl-node4:/var/lib/docker/vfs/dir/1384d0111ec71e32be36ce7ccbb137b80cb87380ec14e06a0bdecc24b1332754# touch a b c  

  进入容器为node1
root@zxl-node4:~# /home/zxl/docker-enter node1  

  查看容器内挂载的/data-node1目录下有相应的文件
# ls -l /data-node1/
total 0
-rw-r--r-- 1 root root 0 Dec 23 01:42 a
-rw-r--r-- 1 root root 0 Dec 23 01:42 b
-rw-r--r-- 1 root root 0 Dec 23 01:42 c
# logout  

  停止容器node1
root@zxl-node4:~# docker stop node1
node1  

  删除容器node1
root@zxl-node4:~# docker rmnode1
node1  

  查看容器node1的对应的数据卷目录相关数据信息,数据文件依然存在。
root@zxl-node4:/var/lib/docker/vfs/dir/1384d0111ec71e32be36ce7ccbb137b80cb87380ec14e06a0bdecc24b1332754# ls
abc  #######################################################################
  

  

  容器挂载数据卷删除-数据目录对应数据文件内容不存在,实例如下:
  先运行一个容器node7,并在容器node7中挂载数据卷。
root@zxl-node4:~# docker run -itd --name node7 -v /data-node7 jdeathe/centos-ssh /bin/bash
40fb54562aa8136e92d2c2d3fb582db1915c3216e02ad646f586c6d5592e5f2c  

  进入容器node7
root@zxl-node4:~# ./docker-enter node7
# ls -ld /data-node7/
drwxr-xr-x 2 root root 4096 Dec 23 01:49 /data-node7/  创建文件aa
# touch /data-node7/aa
# ls -ld /data-node7/
drwxr-xr-x 2 root root 4096 Dec 23 01:50 /data-node7/
# ls -l /data-node7/
total 0
-rw-r--r-- 1 root root 0 Dec 23 01:50 aa
# logout  

  查看容器node7相关数据卷目录位置以及ID等其他信息等等
root@zxl-node4:~# docker inspect node7
[{
    "AppArmorProfile": "",
    "Args": [],
    "Config": {
      "AttachStderr": false,
      "AttachStdin": false,
      "AttachStdout": false,
      "Cmd": [
            "/bin/bash"
      ],
      ...............x
      "Hostname": "40fb54562aa8",
      "Image": "jdeathe/centos-ssh",
      "Labels": {
            "License": "GPLv2",
            "Vendor": "CentOS"
      },
      "MacAddress": "",
      "Memory": 0,
      "MemorySwap": 0,
      "NetworkDisabled": false,
      "OnBuild": null,
      "OpenStdin": true,
      "PortSpecs": null,
      "StdinOnce": false,
      "Tty": true,
      "User": "",
      "Volumes": {
            "/data-node7": {}
      },
      "WorkingDir": ""
    },
    "HostnamePath": "/var/lib/docker/containers/40fb54562aa8136e92d2c2d3fb582db1915c3216e02ad646f586c6d5592e5f2c/hostname",
    "HostsPath": "/var/lib/docker/containers/40fb54562aa8136e92d2c2d3fb582db1915c3216e02ad646f586c6d5592e5f2c/hosts",
    "Id": "40fb54562aa8136e92d2c2d3fb582db1915c3216e02ad646f586c6d5592e5f2c",
    "Image": "ebb3f7483e153dd1cdff973e7b950049c86557b7c63eeb9cba0aa8ac10f14f27",
    "LogPath": "/var/lib/docker/containers/40fb54562aa8136e92d2c2d3fb582db1915c3216e02ad646f586c6d5592e5f2c/40fb54562aa8136e92d2c2d3fb582db1915c3216e02ad646f586c6d5592e5f2c-json.log",
.................
................
    "Volumes": {
      "/data-node7": "/var/lib/docker/vfs/dir/f1f39f0820224569f9849ee776c099ef77b3362f525a23c89551af41158172a6"
    },
    "VolumesRW": {
      "/data-node7": true
    }
}
]  

  查看容器node7数据卷文件
root@zxl-node4:~# cd /var/lib/docker/vfs/dir/f1f39f0820224569f9849ee776c099ef77b3362f525a23c89551af41158172a6/
root@zxl-node4:/var/lib/docker/vfs/dir/f1f39f0820224569f9849ee776c099ef77b3362f525a23c89551af41158172a6# ls
aa  停止容器node7
root@zxl-node4:~# docker stop node7
node7  删除容器node7,-v, --volumes=false    Remove the volumes associated with the container。意思是删除与容器相关联的卷。
root@zxl-node4:~# docker rm -v /data-node7 node7
/data-node7
node7  再次查看node7数据卷目录下,已经没有相关数据文件了
root@zxl-node4:/var/lib/docker/vfs/dir/f1f39f0820224569f9849ee776c099ef77b3362f525a23c89551af41158172a6# ls  
页: [1]
查看完整版本: docker删除挂载数据卷以及容器数据卷