Docker---容器数据卷

使用数据卷

方式一:直接使用命令进行挂载 -v

docker run -it -v 主机文件路径:容器内文件路径 centos /bin/bash

实验操作Mysql数据持久化

拉取mysql=5.7的镜像
docker pull mysql:5.7
运行容器,同时进行数据卷挂载
docker run -d -p 3310:3306 -v /Users/leeakita/Desktop/mysql/conf:/etc/mysql/conf.d -v /Users/leeakita/Desktop/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=13456 --name mysql01 mysql:5.7
命令解读:
-d 后台运行
-p 端口映射
-v 数据挂载
-e 环境设置
--name 容器名字

具名挂载和匿名挂载

-v 不指定主机的路径地址进行自动挂载
# 匿名挂载
docker run -d -P --name nginx01 -v /ect/nginx nginx
# 具名挂载
docker run -d -P --name nginx02 -v juming:/etc/nginx nginx
查看所有的数据卷情况
docker volume ls
查看挂载的具体信息
docker volume inspect 卷名

拓展

docker run -d -P --name nginx -v juming:/etc/nginx:ro nginx   #文件只能通过宿主机改变,因为是只读   
docker run -d -P --name nginx -v juming:/etc/nginx:rw nginx               # 文件可以读也可以写

总结

-v 容器内部路径      #匿名挂载
-v 卷名:容器内部路径  #具名挂载
-v 主机路径:容器内部路径 #指定路径挂载

方式二:数据卷容器

# 首先启动一个容器
docker run -it --name docker01 lala/centos
# 随后启动另一个容器并挂载在之前的容器
docker run -it --name docker02 --volunmes-from docker01 lala/centos

方式三:在构建Dockerfile的时候指定挂载信息

具体操作如下

# 创建一个Dokcerfile
FROM centos

VOLUME ["volume01","volume02"] # 启动后容器内部有这两个文件与主机路径进行挂载

CMD echo "----end----"
CMD /bin/bash
# 这里的每个命令就是镜像的一层
docker build -f dockerfile1 -t lala/centos . 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

水哥很水

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值