關於容器卷 其實就是可以理解得簡單點 就是掛載
也就是讓容器內的某個地方的內容和宿主機的某個地方進行同步或者是容器之間實現同步
而特點呢 就是:
- 數據卷可以在容器之間共享或重用數據
- 卷中的更改可以直接生效
- 卷中的更改不會包含在鏡像的更新中
- 生命週期一直持續到沒有容器使用它爲止
容器內添加數據卷(也就是掛載)
方式一、直接命令添加
#語法 docker run -it -v /主機的絕對路徑:/容器內的路徑 鏡像名字
如:
docker run -it -v /myDataVolume:/dataVolumeContainer centos
此時 主機和融七都會增加新的文件夾 之後進行的動作都會同步
#查看是否掛載成功
根據當前的容器id 在主機執行命令
docker inspect 容器id 在出現的信息中 Binds 說明了之間已經成功掛載
不論容器是否在運行 主機在掛載項目做的任何動作都會同步
#容器不能增刪改查文件
如:docker run -it -v/myDataVolume:/dataVolumeContainer:ro centos
方式二、通過dockerFile添加
1.創建 一個文件夾 取名 docker 並進入
2.創建dockerFile 在文件中使用volume指令給鏡像添加一個或多個數據卷
#volume test
FROM centos
VOLUME ["/dataVolumeContainer1","/dataVolumeContainer2"]
CMD echo "finished,-----success1"
CMD /bin/bash
3.將上述文件build成一個鏡像
docker build -f dockerfile路徑 -t 鏡像名字 .
4.運行這個鏡像 就會發現已經成功掛載 容器對應的內容 會同步在 主機的/var/lib/docker/volumes/下
關於容器數據卷的介紹就先到這裏 可以說 這方面的作用非常 在今後肯定會遇到
後續也會對文章進行更新完善
覺得有用的就點個贊 加個關注吧!