容器指定掛載目錄後如何更改掛載目錄

2021-10-07 20:04:54 字數 968 閱讀 4154

容器中的掛載點在掛載了宿主機上的某個掛載目錄之後,有時候會需要更改掛載目錄,但是通過命令卻無法直接更改容器的掛載目錄,這種情況下該怎麼做?下面將簡單介紹網上流行的3種方式來實現更改容器的掛載目錄。

方法一:直接修改容器的配置檔案(以linux系統為例)

在/var/lib/docker/containers/容器id/config.v2.json配置檔案中找到mountpoints欄位,可以看到裡面的每乙個json物件都代表乙個掛載點,source是宿主機的掛載目錄,destination是容器的掛載點,而我們需要修改的就是source了,因為我們的目的就是為了修改掛載目錄嘛。修改完畢之後儲存退出,通過systemctl restart docker.service重啟服務並啟動容器即可。

方法二:直接將容器提交為乙個新的映象

使用docker commit命令將指定容器提交為乙個新的映象,並使用docker run -v重新指定乙個掛載目錄和掛載點的對映即可。

方法三:直接將容器匯出成乙個映象壓縮包,並重新將映象壓縮包匯入docker環境為映象

使用docker export 容器id(或容器名)>任意名字.tar命令將容器匯出為映象壓縮包,並使用命令cat 任意名字.tar|docker import - 映象名即可將映象壓縮包匯入到docker環境為映象,最後使用docker run -v重新指定乙個掛載目錄和掛載點的對映即可。

比較值得注意和推薦的還是第一種方式,即直接修改配置檔案,這種方式最簡單直接。方法二和方法三實際上並沒有太大的差別,都是通過將容器匯出成映象,然後再使用docker run -v重新指定掛載目錄和掛載點的對映,可以說區別僅僅在於命令,而過程實際上沒有區別。

docker容器目錄掛載

我們可以在建立容器的時候,將宿主機的目錄與容器內的目錄進行對映,這樣我們就可以實現宿主機和容器目錄的雙向資料自動同步 我們cp命令來實現資料傳遞,這種方式比較麻煩 我們通過容器目錄掛載,能夠輕鬆實現 上傳,配置修改,日誌同步等需求 docker run it v 宿主機目錄 容器目錄 映象名dock...

更改docker預設掛載目錄

生產上執行了一段時間docker後,根分割槽使用量報警,由於根分割槽不是lvm型別的,所以無法做擴容,故採用新加一塊硬碟,掛載到新目錄 docker 並將docker預設掛載目錄改到這個目錄的方法解決磁碟將滿的問題。fdisk dev vdb 過程略mkfs.xfs dev vdb1 mkdir d...

docker 修改容器掛載目錄

systemctl stop docker.service 一定要停止容器,不然修改無效 檢查容器是否已停止 docker ps mountpoints skipmountpointcreation false home gitlab runner skipmountpointcreation fa...