【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 小时前
docker 重命名镜像
docker
羑悻的小杀马特7 小时前
Docker 容器化部署核心实战:从镜像仓库管理、容器多参数运行到 Nginx 服务配置与正反向代理原理解析
nginx·docker·容器·镜像仓库
en-route9 小时前
Kubernetes Ingress:使用 Apache APISIX 进行外部流量路由
容器·kubernetes
DogDaoDao18 小时前
Docker全解析:从核心概念到2025年AI集成新特性
人工智能·docker·eureka·程序员
程序员在线炒粉8元1份顺丰包邮送可乐18 小时前
Docker 部署生产环境可用的 MySQL 主从架构
mysql·docker·架构
m0_7415747518 小时前
k8s的service
云原生·容器·kubernetes
liliangcsdn20 小时前
Mac本地docker安装Kibana+ElasticSearch
elasticsearch·macos·docker
xiao-xiang21 小时前
k8s下的发布策略详解
云原生·容器·kubernetes·部署·cicd·发布
优秀的老黄1 天前
Docker部署RabbitMQ
linux·运维·docker·中间件·容器·centos·rabbitmq
Lin_Aries_04211 天前
容器使用卷
linux·运维·docker·云原生·容器·eureka