Docker 的外部掛載功能是指將主機上的一個目錄(或文件)掛載到容器中,實現在容器中訪問主機上的數據的目的。比如,在將一個網站部署到 Docker 容器中的時候,我們需要將主機上的網站目錄掛載到容器中。這樣,容器便可以訪問主機上的網站數據,從而實現網站部署。實現外部掛載的方法一般有兩種:基于容器創建時的命令行參數,或者在docker-compose
中配置。
首先來看基于容器創建時的命令行參數實現外部掛載的方法。比如,我們要將主機上的目錄/mydata
掛載到容器的目錄/data
中,我們可以使用如下命令:
docker run -v /mydata:/data <image>
其中,-v
參數指定了掛載的目錄,/mydata:/data
中,冒號前面的是主機上的目錄,后面的是容器中的目錄。需要注意的是,雖然可以將主機上的文件掛載到容器中,但最好不要掛載主機上的文件,以免數據誤刪。
另一種實現外部掛載的方法是在docker-compose
文件中配置。在docker-compose
文件中使用volumes
關鍵字來配置外部掛載,如下所示:
version: "3"
services:
myservice:
image: myimage
volumes:
- /mydata:/data
這里的volumes
關鍵字與上面介紹的命令行參數中的-v
參數的作用是一樣的,指定了掛載的目錄。需要注意的是,在docker-compose
中配置外部掛載需要將文件保存在一個文件中(一般為docker-compose.yml
),并使用docker-compose up
命令來啟動服務。