how to use docker (2) Mount host File or Floder

挂载文件及目录

在个人开发电脑上装了docker以后就想把自己平时的本地开发环境全部转成docker管理方式
首先想转换的就是redis数据库,我们平时用的redis设置密码 外加持久化存储。默认的镜像肯定不能满足开发环境需求。查了一些资料过程不说了最后整理下面的命令。

1
docker run -p 6379:6379 --name redis6379 -v D:\Database\redis3.0.5\redis_6379.conf:/etc/redis/redis.conf -v D:\Database\data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes
  • 拆解说明一下

6379:6379

第一个6379 是本地发布映射端口 第二个6379是镜像中默认端口

--name redis6379

给容器起一个名字方便以后使用

-v D:\Database\redis3.0.5\redis_6379.conf:/etc/redis/redis.conf -v D:\Database\data:/data

参数-v的作用是挂载本地系统文件或文件夹,这里使用了两次,

  • 第一个-v挂载本地redis_6379.conf到镜像容器中命名为redis.conf
  • 第二个-v挂载本地的D:\Database\data目录为容器中的/data目录

-d redis

-d redis 是后台使用redis镜像启动

redis-server /etc/redis/redis.conf
启动后使用挂载的配置文件来启动redis

--appendonly yes
redis配置选项持久化存储设置生效

这样命令执行完之后我就可以使用docker管理开发环境的redis服务器启动。而不是需要在本地命令行或者通过配置windows服务的方式启动redis。而各种设置和数据的存储和在本地安装程序一样。

可以想象一下,如果将来我们更换电脑或者开发环境。 只需保存好配置文件,和数据存储文件。就可以快速部署或者一个和之前一样的开发环境。

通过-v这个参数的挂载功能将应用参数数据完全与数据库或者中间件分离,方便快速管理部署。