Docker 的数据默认管理在容器当中,但是当我们需要容器与宿主机直接建立文件共享时则需要将容器内的数据做持久化处理,本文记录相关信息。
数据持久化
Docker 的所谓数据持久化本质上就是实现容器到宿主机的文件映射,实现文件共享。
docker-compose 中有两种方式可以设置数据持久化。
绝对路径
代码语言:text复制db:
image: mariadb:latest
restart: always
ports:
- "3306:3306"
volumes:
- [直接使用宿主机的本地路径]:/var/lib/mysql
使用绝对路径直接挂载到本地,直观易于查看,但需要管理本地的路径。
卷标
代码语言:text复制db:
image: mariadb:latest
restart: always
ports:
- "3306:3306"
volumes:
- [卷标名称]:/var/lib/mysql
volumes:
[卷标名称]:
使用卷标的方式,简洁易于管理,但是数据实际存放的位置需要费点周折才能看到。
查看所有的卷标
代码语言:text复制docker volume ls
查看卷标的信息
代码语言:text复制docker volume inspect [卷标名称] # 输出的信息中 Mountpoint 即为数据实际存放的位置
进入 MountPoint 查看文件需要 root 权限
docker network ls
命令可以查看可用的网络。
参考资料
- https://www.jianshu.com/p/0beda3ece539
文章链接:
https://cloud.tencent.com/developer/article/2411822