Docker volume的使用

Docker volume的使用

1. 需求

有 一个公用的docker服务器,上面跑了很多不同分公司的应用.有一个应用需要挂nfs用来存储附件,出于安全考虑,不想直接挂载到主机目录,再以目录方式映射到容器.

2. 创建volume

docker volume create --driver local --opt type=nfs  \
--opt o=addr=192.168.31.109,nolock,soft,rw,sync --opt device=:/data/k8s nfs-data-1

确认创建的volume

# docker volume ls
DRIVER              VOLUME NAME
local               nfs-data-1

3. 创建容器

docker run -it --rm --name test1 -v nfs-data-1:/data  centos bash

查看挂载效果,可以看到nfs已经挂载到了/data目录


[root@b90eff5784e8 /]# df -Th
Filesystem                        Type     Size  Used Avail Use% Mounted on
overlay                           overlay   20G   15G  4.0G  79% /
tmpfs                             tmpfs     64M     0   64M   0% /dev
tmpfs                             tmpfs    4.0G     0  4.0G   0% /sys/fs/cgroup
shm                               tmpfs     64M     0   64M   0% /dev/shm
:/data/k8s                        nfs      147G  8.1G  133G   6% /data
/dev/mapper/ubuntu--vg-ubuntu--lv ext4      20G   15G  4.0G  79% /etc/hosts
tmpfs                             tmpfs    4.0G     0  4.0G   0% /proc/asound
tmpfs                             tmpfs    4.0G     0  4.0G   0% /proc/acpi
tmpfs                             tmpfs    4.0G     0  4.0G   0% /proc/scsi
tmpfs                             tmpfs    4.0G     0  4.0G   0% /sys/firmware
[root@b90eff5784e8 /]# ls /data/ -l
total 16
-rw-r--r--  1 root root   12 Aug  5  2022 index.html
drwxr-xr-x  2 root root 4096 Mar 20 07:18 kubesphere
drwxr-xr-x  3 root root 4096 Jan  3 00:34 nfs
drwxr-xr-x 23 root root 4096 Jan 16 05:25 wework

4. 验证

在宿主机上是看不到任何挂载的

root@master-01:~# df -TH|grep data
root@master-01:~# df -TH|grep 31.109

在nfs服务器上确认文件一致性

root@haproxy-1:~# cd /data/k8s/
root@haproxy-1:/data/k8s# ls -l
total 16
-rw-r--r--  1 root root   12 Aug  5  2022 index.html
drwxr-xr-x  2 root root 4096 Mar 20 15:18 kubesphere
drwxr-xr-x  3 root root 4096 Jan  3 08:34 nfs
drwxr-xr-x 23 root root 4096 Jan 16 13:25 wework

你可能感兴趣的:(docker,容器,运维)