应用场景
本文适用于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 https://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容器中已成功完成弹性文件系统的挂载。