應用場景
本文適用于docker容器中實現天翼云彈性文件服務的掛載。
前提條件
- 購買一個NFS協議的彈性文件系統。
- 購買一臺配置彈性IP的云主機(或者物理機)。
準備工作
1.登錄天翼云官網頁面,找到控制中心。
2.本文以華北2資源池為例,購買一臺配置彈性IP的云主機,具體操作請參考創建彈性云主機。此次以CentOS 8.2系統的彈性云主機為例,部分參數可參考下表:
| 參數 | 說明 |
|---|---|
| 鏡像 | CentOS 8.2 64位 |
| 彈性IP | 自動分配 |
| IP版本 | IPV4 |
| 帶寬 | 5M |
您也可以選擇購買一臺配置彈性IP的物理機,具體操作請參考自助開通天翼云物理機。
3.創建一個彈性文件系統,具體操作請參考創建彈性文件系統,部分參數可參考下表:
| 參數 | 說明 |
|---|---|
| 存儲類型 | SFS Turbo標準型 |
| 協議類型 | NFS |
| 選擇網絡 | 選擇與彈性云主機(或物理機)相同的VPC |
操作步驟
使用docker掛載彈性文件系統可以分為幾個關鍵步驟: 安裝docker>拉取鏡像>宿主機掛載文件系統>創建并運行容器,實現文件系統掛載 。具體操作步驟如下:
步驟一:安裝docker
注意以下操作同樣適用于物理機環境。
1.以root用戶登錄云主機,登錄方式參考登錄Linux彈性云主機。
2.執行以下命令安裝 docker:
curl -fsSL //get.docker.com |bash -s docker
3.執行以下命令啟動docker:
systemctl start docker
4.執行vi /etc/seLinux/config文件,將以下兩條命令注釋掉:
SELINUXTYPE=targeted
SELINUX=enforcing
增加以下命令,關閉SELINUX:
SELINUX=disabled
單擊ECS退出編輯,輸入"wq!",保存退出config文件。在命令執行以下命令,使配置生效:
setenforce 0 #使配置立即生效
步驟二:docker拉取鏡像
執行以下命令拉取鏡像:
docker pull centos:centos8.2
查看本地鏡像:
docker images
步驟三:宿主機掛載文件系統
掛載已開通的彈性文件系統至彈性云主機,具體操作請參考使用彈性云主機掛載彈性文件系統。本文將彈性文件系統掛載至宿主機的/mnt/docker_test目錄:
步驟四: 創建并運行容器,實現文件系統掛載
1.執行以下命令創建并運行容器,將彈性文件掛載至容器的/mnt/mount目錄下:
#命令格式如下:
docker run -di --name=容器名稱 -v 宿主機掛載目錄:容器掛載目錄 -d 鏡像名稱
#以本文為例,執行命令如下:
docker run -di --name=mounttest -v /mnt/docker_test/:/mnt/mount -d centos:centos8.2
可以使用docker ps -a 查看容器運行狀態。
2.通過exec命令進入剛才所創建的容器:
# docker exec -it 自己的容器名稱 /bi/bash
docker exec -it mounttest /bin/bash
3.在容器中查看掛載情況:
df -h
4.在容器中的/mnt/mount 目錄下,寫一個文件大小100M:
dd if=/dev/zero of=test.img count=1 bs=100M
md5sum test.img
Ctrl+D退出容器至宿主機,查看/mnt/docker_test目錄,并驗證md5值:
md5sum test.img
可以看到,在容器中創建的文件在宿主機中同樣存在。
至此,docker容器中已成功完成彈性文件系統的掛載。