Docker NFS volume創(chuàng)建與使用方式
1. 簡介
Docker 卷是為Docker 容器設(shè)置持久存儲的首選機制。
卷是安裝在容器內(nèi)的主機文件系統(tǒng)上的現(xiàn)有目錄。
它們可以從容器和主機系統(tǒng)訪問。
Docker 還允許用戶掛載通過 NFS 遠程文件共享系統(tǒng)共享的目錄。
為此目的創(chuàng)建的卷使用 Docker 自己的 NFS 驅(qū)動程序,無需在主機系統(tǒng)上掛載 NFS 目錄。
2. 創(chuàng)建 NFS Docker 卷
創(chuàng)建和管理 Docker 卷的最簡單方法是使用docker volume命令及其子命令。
創(chuàng)建 NFS Docker 卷的語法包括兩個選項。
- 該
--driver選項定義了local卷驅(qū)動程序,它接受類似于mount Linux 中的命令的選項。 --opt多次調(diào)用該選項以提供有關(guān)卷的更多詳細信息。
詳細信息包括:
- volume type
- write mode
- 遠程 NFS 服務(wù)器的 IP 或 Web 地址
- 服務(wù)器上共享目錄的路徑
docker volume create --driver local \ --opt type=nfs \ --opt o=addr=[ip-address],rw \ --opt device=:[path-to-directory] \ [volume-name]
下面的示例說明了如何創(chuàng)建一個名為nfs-volume. 該卷包含/mnt/nfsdir位于服務(wù)器上的目錄,具有rw(讀/寫)權(quán)限。服務(wù)器的 IP 地址是10.240.12.70。

列出可用的 Docker 卷。
docker volume ls


3. 在容器中掛載 NFS
要將 NFS 卷掛載到容器中,請nfs-common在主機系統(tǒng)上安裝軟件包。
sudo apt update sudo apt install nfs-common
注意:如果使用 YUM 或 RPM 進行包管理,則 NFS 客戶端包稱為nfs-utils
使用docker run 命令啟動容器。在該部分中指定 NFS 卷和安裝點--mount。
docker run -d -it \ --name [container-name] \ --mount source=[volume-name],target=[mount-point]\ [image-name]

docker inspect [container-name]

docker exec -it [container-name] ls /mnt
4. Docker Compose 掛載 NFS 卷
如果您使用Docker Compose來管理您的容器,請通過在 YML 文件中定義來掛載 NFS 卷。
創(chuàng)建 docker-compose.yml 文件。
version: "3.2"
services:
[service-name]:
image: [docker-image]
ports:
- "[port]:[port]"
volumes:
- type: volume
source: [volume-name]
target: /nfs
volume:
nocopy: true
volumes:
[volume-name]:
driver_opts:
type: "nfs"
o: "addr=[ip-address],nolock,soft,rw"
device: ":[path-to-directory]"
注意:
nolock和soft選項確保 Docker 在與 NFS 服務(wù)器的連接丟失時不會凍結(jié)( freeze)
參考:
NFS Docker Volumes: How to Create and Use
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Docker使用nodejs鏡像構(gòu)建express服務(wù)的方法
這篇文章主要介紹了Docker使用nodejs鏡像構(gòu)建express服務(wù),主要包括nodejs容器的啟動,安裝nodejs第三方依賴模塊及啟動nodejs服務(wù)的相關(guān)操作,本文給大家介紹的非常詳細,需要的朋友可以參考下2022-07-07
Docker 部署分布式 Hadoop的超詳細實戰(zhàn)指南
這篇文章給大家介紹Docker部署分布式Hadoop的超詳細實戰(zhàn)指南,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2026-02-02
詳解使用 Docker 構(gòu)建 LNMP 環(huán)境
本篇文章主要介紹了使用 Docker 構(gòu)建 LNMP 環(huán)境,詳細的介紹了配置LNMP 環(huán)境的步驟。具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-03-03

