在CentOS上使用容器技術時,掛載主要涉及Docker和Kubernetes兩種場景,以下是核心方法及要點:
命令行方式
使用-v或--mount參數將宿主機目錄掛載到容器指定路徑,支持綁定掛載和命名卷:
# 綁定掛載(直接映射宿主機目錄)
docker run -v /宿主機路徑:/容器路徑 鏡像名
# 命名卷(由Docker管理存儲)
docker run -v 卷名:/容器路徑 鏡像名
示例:將宿主機/data目錄掛載到容器/app/data,并設置為只讀:
docker run -v /data:/app/data:ro nginx
注意事項
:ro參數指定只讀,防止容器內修改宿主機文件。--volumes-from掛載其數據卷:# 創建數據卷容器
docker run -v /shared-data:/data --name data-container centos
# 其他容器掛載該數據卷
docker run --volumes-from data-container --name app-container centos
步驟:
sudo yum install nfs-utils
sudo mkdir -p /mnt/nfs
sudo echo "/mnt/nfs *(rw,sync,no_subtree_check)" >> /etc/exports
sudo systemctl start nfs-server
sudo exportfs -a
accessModes: ReadWriteMany)。volumes:
- name: nfs-vol
persistentVolumeClaim:
claimName: nfs-pvc
volumeMounts:
- name: nfs-vol
mountPath: /容器路徑
優勢:支持跨節點Pod共享數據,Pod刪除后數據保留。
權限問題
chmod 777),避免容器無法訪問。:ro或:rw指定讀寫權限。啟動順序
systemd配置依賴關系,確保掛載完成后再啟動容器。數據持久化
參考資料: