Linux
將新卷掛載到 docker 實例中
我有一個在 docker 實例中執行的網站。該站點有一個需要更多儲存空間的文件文件夾。因此,我在 AWS 上創建了一個新卷。我可以從主機上看到它
lsblk
,如下所示:$ sudo lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 8G 0 disk └─xvda1 202:1 0 8G 0 part / xvdf 202:80 0 20G 0 disk
在網站結構中,在 docker 容器內,我想將磁碟掛載到:
/var/www/localhost/htdocs/sites/default/documents/
通常,我只會使用以下內容:
sudo mount /dev/xvdf /var/www/localhost/htdocs/sites/default/documents/
但由於它在一個 docker 容器中,我對如何連接它有點困惑。 如何將驅動器安裝到給定目錄?
Docker 對我來說很新。直到幾週前我才聽說過。我可以控制
sh
進入容器並重新啟動它。
查看這個問題以獲取有關 Docker 中不同掛載類型的更多資訊:在 Docker容器中創建卷或掛載有什麼區別?
您需要先將捲掛載到“主機”伺服器上的本地文件夾,然後才能將其掛載到 docker 容器。
首先將設備掛載到目錄:
sudo mount /dev/xvdf /mnt
然後你必須用參數啟動容器,它將你的捲(目錄)連接到容器目錄:
docker run -d \ --name devtest \ -v /mnt:/var/www/localhost/htdocs/sites/default/documents \ nginx:latest
https://docs.docker.com/storage/bind-mounts/#start-a-container-with-a-bind-mount
或者使用 docker-compose.yml:
devtest: image: nginx:latest volumes: - /mnt:/var/www/localhost/htdocs/sites/default/documents