一 存储卷
1 什么是卷
- docker容器不保持任何数据
- 重要数据请使用外部卷存储(数据持久化)
- 容器可以挂载真机目录或共享存储为卷
2 主机卷的映射
将真机目录挂载到容器中提供持久化存储
目录不存在就自动创建
目录存在就直接覆盖
docker run -v /data:/data -it docker.io/centos bash
二 共享存储
- 一台共享存储服务器可以提供给所有Docker主机使用
- 共享存储服务器(NAS/SAN/DAS等)
- 典型的可以使用nfs创建共享存储服务器
案例:
- 服务器创建nfs共享存储目录,权限为rw
- 客户端挂载共享,并将共享目录映射到容器中
- docker1 启动 nginx
- docker2 启动 apache
- nginx 和 apache 共享同一web目录
1 配置nfs服务器
yum -y install nfs-utils
mkdir /nini
vim /etc/exports
/nini *(rw)
systemctl start nfs
exportfs -rv
chmod 777 /nini
echo helloworld > /nini/index.html
2 配置客户端
docker1
yum -y install nfs-utils
systemctl start nfs
showmount -e 服务器ip地址
mount -t nfs 服务器ip地址:/nini /mnt
docker run -itd -v /mnt:/usr/share/nginx/html docker.io/nginx:latest
docker2
同docker1,只需将目录换成httpd的目录