說明:通過WSL2裝上Ubuntu18.04.在WSL上安裝了docker.
正常的docker數據卷掛載:
docker run -it -v /宿主機絕對路徑目錄: /容器內目錄 鏡像名
在WSL2中,需要把windows體系的目錄結構轉成wsl下(/mnt):
我們以windows下E盤 data_for_docker_mount文件夾 爲例:
songroom@DESKTOP-MEDPUTU:/$ cd /mnt
songroom@DESKTOP-MEDPUTU:/mnt$ ls
c d e f g wsl
songroom@DESKTOP-MEDPUTU:/mnt$ cd e
songroom@DESKTOP-MEDPUTU:/mnt/e$ ls
'$RECYCLE.BIN' SouceCsvData_cffex Temp ghos
0c1f4506f83ee29969ef39665e028dbf SouceCsvData_digital TradeData_cffex h5Data
MSOCache SourceCsvData_future TradeData_future qqpcmgr_docpro
QQMusicCache SourceCsvData_stock Windows10Upgrade strategy_report
QQPCMgr 'System Volume Information' data_for_docker_mount
songroom@DESKTOP-MEDPUTU:/mnt/e$ cd data_for_docker_mount
songroom@DESKTOP-MEDPUTU:/mnt/e/data_for_docker_mount$ ls
IC1601.csv IC1604.csv IC1609.csv IF1603.csv IF1606.csv IH1602.csv IH1605.csv
IC1602.csv IC1605.csv IF1601.csv IF1604.csv IF1609.csv IH1603.csv IH1606.csv
IC1603.csv IC1606.csv IF1602.csv IF1605.csv IH1601.csv IH1604.csv IH1609.csv
songroom@DESKTOP-MEDPUTU:/mnt/e/data_for_docker_mount$
如果要把此文件夾掛載在特定的docker 容器上(綁定數據卷),應如何操作?
1、綁定數據卷格式
docker run -it -v /mnt/e/data_for_docker_mount: /容器內目錄 鏡像名
2、在啓動時綁定
docker run -it -v /mnt/e/data_for_docker_mount:/docker_local_data python:3
.8
3、在容器中操作,看是否進來了
>>> path="/docker_local_data"
>>> import os
>>> os.listdir(path)
['IC1601.csv', 'IC1602.csv', 'IC1603.csv', 'IC1604.csv', 'IC1605.csv', 'IC1606.csv', 'IC1609.csv', 'IF1601.csv', 'IF1602.csv', 'IF1603.csv', 'IF1604.csv', 'IF1605.csv', 'IF1606.csv', 'IF1609.csv', 'IH1601.csv', 'IH1602.csv', 'IH1603.csv', 'IH1604.csv', 'IH1605.csv', 'IH1606.csv', 'IH1609.csv']
>>>
問題:
1、上面是新開容器
如果這個容器已經開了,不是新開,如何與宿主機的目錄進行掛載?
2、容器如何與宿主機的多個目錄進行掛載?
方案:多寫幾對v;上面只寫了一對-v.
3、容器與容器之間。
方案:–volumes-from