Docker 是一種流行的容器化解決方案,優(yōu)點(diǎn)之一是它可以輕松地共享文件夾。
在 Docker 中,我們可以在容器中映射本地主機(jī)的一個(gè)目錄作為容器中的目錄,以便容器可以訪問(wèn)并寫(xiě)入該目錄。這比在容器中創(chuàng)建和維護(hù)文件數(shù)據(jù)非常方便。
為了實(shí)現(xiàn)容器和宿主共享文件夾,我們可以使用以下命令:
docker run -v /host/directory:/container/directory image_name
其中/host/directory
是宿主機(jī)器上的文件夾,而/container/directory
是容器內(nèi)的文件夾。當(dāng)容器運(yùn)行時(shí),宿主機(jī)器中的目錄將會(huì)掛載到容器中。
我們還可以使用 Docker Compose 來(lái)定義和管理容器。要在 Compose 文件中定義共享文件夾,您可以編寫(xiě)類似以下內(nèi)容的代碼:
version: "3"
services:
web:
build: .
volumes:
- type: bind
source: ./app
target: /app
db:
image: postgres
volumes:
- type: volume
source: db-data
target: /var/lib/postgresql/data
volumes:
db-data:
在上述代碼中,我們?yōu)?web 容器和 db 容器定義了兩個(gè)不同類型的文件夾。web 容器使用bind
類型卷,將主機(jī)機(jī)器上的路徑./app
映射到容器的路徑/app
中。而 db 容器使用volume
類型卷,它將數(shù)據(jù)存儲(chǔ)在一個(gè)特殊位置,即db-data
卷。
通過(guò)上述方法,我們可以輕松地在 Docker 容器中共享文件夾。這為我們提供了許多方便,并可以幫助我們更好地使用 Docker。