Docker 数据持久化 volumes

2024-04-24 09:32:49 浏览数 (1)

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

0 人点赞