Docker 存储持久化

一 存储卷

1 什么是卷

  1. docker容器不保持任何数据
  2. 重要数据请使用外部卷存储(数据持久化)
  3. 容器可以挂载真机目录或共享存储为卷

2 主机卷的映射

将真机目录挂载到容器中提供持久化存储
目录不存在就自动创建
目录存在就直接覆盖
docker run -v /data:/data -it docker.io/centos bash

二 共享存储

  1. 一台共享存储服务器可以提供给所有Docker主机使用
  2. 共享存储服务器(NAS/SAN/DAS等)
  3. 典型的可以使用nfs创建共享存储服务器
案例:
  1. 服务器创建nfs共享存储目录,权限为rw
  2. 客户端挂载共享,并将共享目录映射到容器中
  3. docker1 启动 nginx
  4. docker2 启动 apache
  5. 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的目录

相关文章: