Docker 是一種輕量化的虛擬化工具,它可以在一個(gè)容器中輕松地運(yùn)行應(yīng)用程序。在 Docker 中,存儲(chǔ)模式是非常重要的一部分。
docker run -v /path/to/host/directory:/path/to/container/directory image
此命令啟動(dòng)了一個(gè)容器,將容器內(nèi)的某個(gè)文件目錄與宿主機(jī)器上的某個(gè)目錄綁定起來。這意味著,當(dāng)容器中的數(shù)據(jù)更新時(shí),宿主機(jī)器上的數(shù)據(jù)也將被更新。
docker run --mount type=bind,source=/path/to/host/directory,target=/path/to/container/directory image
此命令與前面的命令相似,但使用了 --mount 選項(xiàng)而不是 -v。這使得掛載更加明確和靈活。
除了綁定掛載,Docker 還支持其他類型的存儲(chǔ)模式,如數(shù)據(jù)卷、臨時(shí)文件系統(tǒng)、讀寫層與共享卷等。
docker run -v my_volume:/path/to/container/directory image
此命令使用了數(shù)據(jù)卷,將容器內(nèi)的某個(gè)文件目錄與一個(gè)名為 my_volume 的數(shù)據(jù)卷綁定起來。數(shù)據(jù)卷是存儲(chǔ)在 Docker Host 上的,并且可以跨容器共享。
docker run --tmpfs /path/to/container/directory image
此命令使用了臨時(shí)文件系統(tǒng),它將容器內(nèi)的某個(gè)文件目錄掛載到一個(gè)只存在于內(nèi)存中的臨時(shí)文件系統(tǒng)上。
docker build -t my_image . docker volume create my_volume docker run -v my_volume:/path/to/container/directory my_image
此命令使用了讀寫層與共享卷。它從 Dockerfile 構(gòu)建了一個(gè)名為 my_image 的鏡像,并創(chuàng)建了一個(gè)名為 my_volume 的數(shù)據(jù)卷。然后,使用 my_volume 將 my_image 運(yùn)行在容器中。容器將讀取 my_image 中定義的文件,但任何寫入容器的更改都將保存在 my_volume 中。