Docker 是一個開源的應用容器引擎,可以在一個應用程序的所有組件中創建一個“容器”,并將其用于方便地部署、運行和管理。
在 Docker 中,我們可以將主機上的一個目錄掛載到容器的指定路徑中,使它們可以共享相同的文件。但是,在運行時更改已掛載的目錄的路徑可能比較棘手,因為會涉及到重新編寫容器。
// 下載官方鏡像 $ docker pull ubuntu:latest // 創建一個新的容器并將一個主機目錄掛載到容器的 /app 目錄中 $ docker run -it --name test-container -v /host/path:/app ubuntu:latest // 進入容器 bash shell $ docker exec -it test-container bash // 更改已掛載的目錄的路徑 $ umount /app $ mkdir /new/path $ mount --bind /new/path /app // 退出容器 bash shell $ exit // 保存更改 $ docker stop test-container $ docker commit test-container new-image // 啟動新的容器并驗證修改后的掛載路徑是否正確 $ docker run -it --name new-container -v /host/path:/new/path new-image
以上示例演示了如何在 Docker 中更改已掛載的目錄的路徑。我們可以使用umount
命令取消掛載,再使用mount --bind
命令將新的目錄路徑綁定到指定的掛載點。
最后,我們可以使用docker commit
命令將更改后的容器保存為新的鏡像,并在創建新的容器時使用它。這樣,我們就可以在不重新編寫容器的情況下更改掛載點路徑。