【Docker】Docker 如何映射文件

文章目录

  • [1. Docker 如何映射文件](#1. Docker 如何映射文件)
  • [2. 参考资料](#2. 参考资料)

1. Docker 如何映射文件

Docker 映射最大的好处是持久化,比如适合开发时候的mysql数据库。

在启动容器时指定 容器主机 的映射关系,举例如下:

shell 复制代码
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root  \
-d mysql:5.7

以上就把容器的文件夹 var/log/mysql 映射到了主机的 /mydata/mysql/conf等目录。

这种方法最大的优点是在删除容器后,该文件依然存在,下次启动新容器或许依然可以使用而不用重新配置一遍环境和恢复数据,这对需要持久化的容器特别友好,如mysql

举例如下:

  1. 假设,在存在映射的容器 mysql_test 中,创建了 spring_test 数据库

  2. 现在删除 mysql_test 容器(如果不映射那么所有数据库都会被删除)

    shell 复制代码
    docker rm mysql_test
  3. 删除后重新映射源文件到新的容器 mysql_test111 中

    shell 复制代码
    docker run -p 3306:3306 --name mysql_test111 \
    -v /mydata/mysql/log:/var/log/mysql \
    -v /mydata/mysql/data:/var/lib/mysql \
    -v /mydata/mysql/conf:/etc/mysql \
    -e MYSQL_ROOT_PASSWORD=root  \
    -d mysql:5.7
  4. 登录发现原来的数据库 spring_test 的数据任然存在,哈哈,体验很棒

2. 参考资料

我的文章:《如何查看一个 Docker 镜像有哪些版本.md

我的文章:《Docker 快速入门实用教程.md

相关推荐
梦梦代码精5 小时前
深度体验BuildingAI:一款集成商业闭环的开源智能体平台
人工智能·docker·开源·代码规范
ylj_dev6 小时前
从 0 构建 AI Workload Platform(八):受限执行环境与 Kubernetes
docker·容器·kubernetes·分布式系统·ai工作流·容器安全·ai infra
sryyd_027 小时前
Kubernetes 控制器完全指南:从原理到实战
云原生·容器·kubernetes
烬羽7 小时前
Dockerfile 是"做奶茶的配方"?用 todos 全栈项目看懂 Docker 构建与发布
nginx·docker·nestjs
niyesd7 小时前
Kubernetes Pod 控制器管理与实验记录
云原生·容器·kubernetes
池以遇8 小时前
云原生——k8s的pod管理及优化
云原生·容器·kubernetes
lswzw9 小时前
K8s容器网络排查实战:从宿主机穿透命名空间定位端口监听问题
开发语言·docker·容器
lxw202302711621 小时前
k8s的控制器
云原生·容器·kubernetes
FoldWinCard1 天前
K8s -- 控制器管理
云原生·容器·kubernetes
容器魔方1 天前
云容器引擎 CCE 2026-Q2 优化升级:AI 推理负载、备份中心、Gateway API能力全新上线!
人工智能·云原生·容器·开源