思考:
1.Docker容器刪除后,在容器中的數(shù)據(jù)還在嗎?
2.Docker 容器和外部機(jī)器可以直接交換文件嗎?
3.容器之間想要進(jìn)行數(shù)據(jù)交互?

為了解決以上3個(gè)問(wèn)題,數(shù)據(jù)卷應(yīng)運(yùn)而生。
數(shù)據(jù)卷作用:
容器數(shù)據(jù)持久化
外部機(jī)器和容器間接通信
容器之間數(shù)據(jù)交換
數(shù)據(jù)卷:
數(shù)據(jù)卷是宿主機(jī)中的一個(gè)目錄或文件
當(dāng)容器目錄和數(shù)據(jù)卷目錄綁定后,對(duì)方的修改會(huì)立即同步
一個(gè)數(shù)據(jù)卷可以被多個(gè)容器同時(shí)掛載
一個(gè)容器也可以被掛載多個(gè)數(shù)據(jù)卷
命令
創(chuàng)建容器時(shí),使用 -v 參數(shù),設(shè)置數(shù)據(jù)卷;
docker run ... -v 宿主機(jī)目錄(文件):容器內(nèi)目錄(文件)...
docker run -it --name=c1 -v /root/data:/root/data_container centos:7 /bin/bash
注意事項(xiàng):
1.目錄必須是絕對(duì)路徑
2.如果目錄不存在,會(huì)自動(dòng)創(chuàng)建
3.可以掛載多個(gè)數(shù)據(jù)卷
配置數(shù)據(jù)卷容器
多容器進(jìn)行數(shù)據(jù)交換
- 多個(gè)容器掛載同一個(gè)數(shù)據(jù)卷
- 數(shù)據(jù)卷容器
命令
1.創(chuàng)建啟動(dòng)c3數(shù)據(jù)卷容器,使用-v 參數(shù) 設(shè)置數(shù)據(jù)卷,/volume 指宿主機(jī)目錄
docker run -it --name=c3 -v /volume centos:7 /bin/bash
2.創(chuàng)建啟動(dòng)c1 ,c2容器,使用 --volumes-from 參數(shù),設(shè)置數(shù)據(jù)卷
docker run -it --name=c1 --volumes-from c3 centos:7 /bin/bash
docker run -it --name=c2 --volumes-from c3 centos:7 /bin/bash
查看目錄映射關(guān)系
docker inspect -f "{{.Mounts}}" nginx