WSL下的Docker數據卷掛載

說明:通過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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章