Docker是一個開放源代碼的應用容器引擎,可以利用它打包應用程序和它的所有依賴到一個可移植的容器中,然后運行在任何支持Docker的環境中,使得應用程序的部署變得更加簡單與高效。當我們需要將一個目錄掛載到Docker容器上時,我們可以使用Docker的掛載功能:
docker run -v: ... # 示例 docker run -v /home/user/app:/app ...
其中,<host_path>
是主機上的目錄路徑,<container_path>
是容器內部的目錄路徑。
例如,我們將主機上的/home/user/app
目錄掛載到容器內部的/app
目錄:
docker run -v /home/user/app:/app ...
在Docker容器內部,我們可以像使用本地文件一樣訪問掛載進去的目錄。例如,我們可以用下面的方式在容器內部復制一個文件到該目錄:
cp /path/to/file /app/
注意,如果<host_path>
或<container_path>
中含有空格或其它特殊字符,需要使用 quotes 將其包圍起來:
docker run -v "/path/with/special/chars:/target/path" ...
如果要掛載容器內部的文件或者目錄到主機上,只需要將參數的順序調換一下即可:
docker run -v: ... # 示例 docker run -v /app:/home/user/app ...
總之,Docker的掛載功能提供了一種非常方便的方式,將主機上的目錄與容器內部的目錄掛載在一起,這樣既可以在主機上編輯文件,又可以在容器內部運行它們。