數據卷是一個可供一個或多個容器使用的特殊目錄,它繞過 UFS,可以提供很多有用的特性:
數據卷
可以在容器之間共享和重用對
數據卷
的修改會立馬生效對
數據卷
的更新,不會影響鏡像
數據卷
默認會一直存在,即使容器被刪除
容器中管理數據主要有兩種方式:
主要是建立宿主機與docker容器的聯繫,體現在docker容器中的產生的數據保存,配置配置文件等
- 創建數據卷
docker volume create my-vol
- 數據卷列表
docker volume ls
- 查看數據卷具體信息
docker volume inspect my-vol
- 刪除數據卷
docker volume rm my-vol
- 清除無主的數據卷
docker volume prune
1. 數據卷
通過建立目錄或文件聯繫,使用 -v 或 --mount 兩個命令將宿主機與docker容器聯繫起來。
-v hostpath:containerpath
- hostpath 表示宿主機的目錄或文件,需要提前存在的
- containerpath 表示容器的目錄或文件,運行容器時會自動創建
- 容器數據卷的權限默認是可讀可寫權限,如果需要設置權限,則使用命令 -v hostFile:containerFile:ro
- 如果沒有指定hostpath,即命令如果爲 -v containerpath 則宿主機的默認目錄爲 /var/lib/docker/volumes/ 下,具體的映射關係可以使用命令查看 docker inspect [容器名稱] | grep /var/lib/docker/volumes
- 注意:目錄只能掛載目錄,文件只能掛載文件!
--mount type = bind/volume/tmpfs , src = hostpath , source = my-vol , target = /usr/......
- type = bind/volume/tmpfs 默認:volume 綁定模式
- type = bind 則使用 src = hostpath, target = containerpath
- type = volume 則使用 source= 創建的數據卷名稱, target = containerpath
2. 數據卷容器
通過建立容器之間的聯繫,比如容器之間的數據,配置等共享。使用 --volume-from 指定要建立聯繫的容器。
--volume-from container