1.制作NFS
--我们在Harbor服务器上制作共享目录
--192.168.1.7
touch /data/nfs/tomcat/sspu.txt
[root@es4 data]# echo "Hello,I'm a good boy\!" > /data/nfs/tomcat/sspu.txt
[root@es4 data]#
[root@es4 data]# cat /data/nfs/tomcat/sspu.txt
Hello,I'm a good boy\!'
echo "/data/nfs *(rw,no_root_squash,sync)">>/etc/exports
exportfs -r
systemctl start rpcbind nfs-server --启动nfs服务。
showmount -e localhost
--查看本地挂载情况。
[root@es4 data]# showmount -e localhost
[root@es4 data]# showmount -e 192.168.1.11
2.其他节点
--三个机器上都创建卷
[root@es1 nginx]# docker volume create --driver local \
> --opt type=nfs \
> --opt device=:/data/nfs/tomcat \
> volume-nfs-tomcat
volume-nfs-tomcat
[root@es2 ~]# docker volume create --driver local \
> --opt type=nfs \
> --opt device=:/data/nfs/tomcat \
> volume-nfs-tomcat
volume-nfs-tomcat
[root@es3 ~]# docker volume create --driver local \
> --opt type=nfs \
> --opt device=:/data/nfs/tomcat \
> volume-nfs-tomcat
volume-nfs-tomcat
3.查看卷的信息
[root@es1 nginx]# docker volume ls
DRIVER VOLUME NAME
local 57e8c3f618dc65491e03d49c2891d6d3c2f9d5d2c19ec4b8a8e5ea2e0b4d8b6c
local sspu_mysqlconfig
local volume-nfs-tomcat
[root@es3 ~]# docker volume inspect volume-nfs-tomcat
[
{
"CreatedAt": "2024-07-03T16:03:53+08:00",
"Driver": "local",
"Labels": {},
"Mountpoint": "/data/docker/data/volumes/volume-nfs-tomcat/_data",
"Name": "volume-nfs-tomcat",
"Options": {
"device": ":/data/nfs/tomcat",
"o": "addr=192.168.1.11,rw",
"type": "nfs"
},
"Scope": "local"
}
]
4.将目录映射到本地
--NFS的目录,指向:容器内部:/usr/local/tomcat/webapps
/data/docker/data/volumes/volume-nfs-tomcat/_data
--三个节点分别运行。
docker run -itd --nameh sspuweb_8080 -p 58081:8080 \
-v volume-nfs-tomcat:/usr/local/tomcat/webapps \
192.168.1.11:443/myharbor/tomcat:10.0.0-jdk8
--第一个节点创建文件。
docker exec sspuweb_58080 touch /usr/local/tomcat/webapps/sspu.txt
docker exec sspuweb_58080 ls /usr/local/tomcat/webapps
--其他两个节点访问。
[root@es2 ~]# docker exec sspuweb_58081 ls /usr/local/tomcat/webapps
sspu.txt
--说明:通过NFS 已经能够共享文件系统。适合WEB访问。不适合数据库。