1.什么是数据卷?
数据卷是持久化数据,它的生命周期独立于容器,Docker不会再容器被删后自动删除数据卷,数据卷也不会被垃圾回收这样的机制处理掉,所有无用的数据卷要及时处理掉,不然会被占用很多空间。数据卷是一个可供一个或多个容器使用的特殊目录,它将主机操作系统目录直接映射进容器,
它可以提供很多有用的特性: 1.数据卷 可以在容器之间共享和重用 2.对数据卷的修改会立马生效 3.对数据卷的更新,不会影响镜像 4.数据卷 默认会一直存在,即使容器被删除
2.数据卷基本命令
2.1 在宿主机上先创建数据卷
docker volume create my-volume
2.2 查看所有的数据卷
docker volume ls
2.3 查看指定数据卷的详细信息(显示一个JSON格式的数据)
[root@VM-4-13-centos _data]# docker volume inspect my-volume [ { "CreatedAt": "2022-11-17T16:13:15+08:00", "Driver": "local", "Labels": {}, "Mountpoint": "/var/lib/docker/volumes/my-volume/_data", "Name": "my-volume", "Options": {}, "Scope": "local" } ]
2.4 删除一个volume
[root@VM-4-13-centos _data]# docker volume rm my-volume my-volume
3.容器挂载
挂载数据卷,最好是通过run而非create/start创建启动容器 create/start命令创建启动容器后,再挂载数据卷相当麻烦,要修改很多配置文件,但并非不可以
3.1 启动一个挂载数据卷的容器
[root@VM-4-13-centos ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx <none> 5d58c024174d 4 weeks ago 142MB mongo latest 1cca5cf68239 6 weeks ago 695MB portainer/portainer-ce latest 500504ac663a 2 months ago 285MB nginx latest 605c77e624dd 10 months ago 141MB mytomcat mytomcat fb5657adc892 10 months ago 680MB tomcat latest fb5657adc892 10 months ago 680MB [root@VM-4-13-centos ~]# docker run -d \ > -it \ > -p 8080:8080 \ > --name tomcat01 \ > --mount source=my-volum,target=/var/lib/docker/volumes/ \ > tomcat:latest 1882f5cf104312be405ee62d56380e7d552b80a058d5297140e64a1f52253157
说明:target:表示数据卷的位置
在宿主机上volum里的_data里更新数据,容器内/var/lib/docker/volumes 同时更新数据。
标签:ago,容器,my,volume,docker,数据 From: https://www.cnblogs.com/joyware/p/16900117.html