docker 持久化主要有2種bind 和volume
bind方式直接掛載 注意:如果源文件不存在或者掛載的目錄在容器中非空目錄 則該目錄現有的內容將被隱藏。例如掛載到nginx訪問目錄 原有的index.html 50x.html 將被隱藏
[root@worker1 ~]# docker container run -d --name=web1 --mount type=bind,src=/root/,dst=/opt/ nginx a8ada6f9b0cd992c91a2ab731d1b9f5ab0cd210291810649316df87e0675cfc0
volume方式 如果容器鏡像中掛載的目錄有文件,則文件會顯示
1.創建volume
[root@worker1 ~]# docker volume create test
test
2.列出volume
[root@worker1 ~]# docker volume ls DRIVER VOLUME NAME local portainer_data local test local test-volume [root@worker1 ~]# docker volume rm
3.查看詳情
[root@worker1 ~]# docker volume inspect test-volume [ { "CreatedAt": "2020-07-07T16:35:41+08:00", "Driver": "local", "Labels": {}, "Mountpoint": "/var/lib/docker/volumes/test-volume/_data", "Name": "test-volume", "Options": {}, "Scope": "local" } ]
4.刪除
[root@worker1 ~]# docker volume rm test test
6.掛載到容器中使用
[root@worker1 ~]# docker container run -d --name=test --mount src=test-volume,dst=/opt/ nginx 195801b300681ed5d454fd6b9c80491902704aefd98f2e216ce72166a6d8a283