本文最后更新于:2024年5月7日 下午

Docker 的数据默认管理在容器当中,但是当我们需要容器与宿主机直接建立文件共享时则需要将容器内的数据做持久化处理,本文记录相关信息。

数据持久化

Docker 的所谓数据持久化本质上就是实现容器到宿主机的文件映射,实现文件共享。

docker-compose 中有两种方式可以设置数据持久化。

绝对路径

1
2
3
4
5
6
7
db:
image: mariadb:latest
restart: always
ports:
- "3306:3306"
volumes:
- [直接使用宿主机的本地路径]:/var/lib/mysql

使用绝对路径直接挂载到本地,直观易于查看,但需要管理本地的路径。

卷标

1
2
3
4
5
6
7
8
9
10
db:
image: mariadb:latest
restart: always
ports:
- "3306:3306"
volumes:
- [卷标名称]:/var/lib/mysql

volumes:
[卷标名称]:

使用卷标的方式,简洁易于管理,但是数据实际存放的位置需要费点周折才能看到。

  • 查看所有的卷标

    1
    docker volume ls
  • 查看卷标的信息

    1
    docker volume inspect [卷标名称]			# 输出的信息中 Mountpoint 即为数据实际存放的位置
  • 进入 MountPoint 查看文件需要 root 权限

  • docker network ls 命令可以查看可用的网络。

参考资料



文章链接:
https://www.zywvvd.com/notes/tools/docker/docker-data-persisitence/docker-data-persisitence/


“觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭”

微信二维码

微信支付

支付宝二维码

支付宝支付

Docker 数据持久化 volumes
https://www.zywvvd.com/notes/tools/docker/docker-data-persisitence/docker-data-persisitence/
作者
Yiwei Zhang
发布于
2024年4月22日
许可协议