天天看點

Docker資料挂載

Docker中進行資料挂載實作資料共享,這裡隻說volumes的挂載

想要達到的效果就是主控端的挂載檔案夾裡有什麼,docker容器中對應的映射檔案夾就有什麼

先通過pull指令從docker倉庫中才在一個鏡像(随便下的),我下的是ubuntu鏡像

下載下傳完檢視本地鏡像(權限不夠的話在指令前加上sudo)

docker images      
Docker資料挂載

在挂載之前先要把對應檔案夾選好,這裡宿主檔案夾我選的:

Docker資料挂載

 然後在裡面随便touch一個檔案,如果挂載之後容器對應的檔案夾也有這個檔案就說明成功了

sudo touch test.txt      

有個插曲,touch的時候我搞錯了,ubuntu離得目錄是分大小寫的,我在Documents裡面建立的test.txt,但是後面挂載是在documents,是以用cp指令複制一下

Docker資料挂載

test.txt檔案通過vim指令編輯,按insert鍵輸入,esc退出編輯,ZZ儲存并退出

Docker資料挂載

 如果vim編輯文本的時候提示你檔案隻讀,在vim指令前面加上sudo就有權限寫了

接下來進行挂載操作

參考 https://blog.csdn.net/weixin_43745072/article/details/106094171

sudo docker run -itd --name=ubuntu_test -v /home/montage/documents:/usr/games ubuntu /bin/bash      

最後面的/bin/bash好象是互動模式,表示這個容器運作的是ubuntu系統中的bash程式(大概)

指令運作成功後進入容器檢視,通過attach指令

sudo docker attach ubuntu_test      

進入到容器中後,進入對應目錄檢視

Docker資料挂載

 發現挂載成功,主控端挂載卷中的檔案出現在了容器對應的目錄中

用cat指令檢視,檔案内容也是一緻的

Docker資料挂載

最後要把測試用的容器删掉,對于運作中的容器要先把它停掉

docker stop 容器名/容器id      

docker ps      

指令檢視運作容器,如果沒有說明已經停掉了,這時候用

docker rm 容器名/容器id      

删掉容器,此時用

docker ps -a      

檢視所有容器,返現也沒有ubuntu_test,說明這個容器就被删除了

Docker資料挂載
Docker資料挂載

無情的摸魚機器