前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >『中级篇』数据持久化之bind Mounting(35)

『中级篇』数据持久化之bind Mounting(35)

原创
作者头像
IT架构圈
发布2018-07-21 09:18:32
3450
发布2018-07-21 09:18:32
举报
文章被收录于专栏:IT架构圈IT架构圈

回忆上次的volume的方式,源码https://github.com/limingios/docker No.3 方便学习数据持久化存储

  1. Dockerfile中 VOLUME "/var/lib/mysql"
  2. 别名:持久化地址的方式 docker run -v mysql:/var/lib/mysql
Bind Mouting
  • 代码
代码语言:txt
复制
docker run -v /home/aaa:/root/aaa
  • 例子
代码语言:txt
复制
cd ~
cd labs/docker-nginx/
more Dockerfile
代码语言:txt
复制
sudo service docker restart
docker build -t liming/nginx .
sudo docker image ls
  • 容器生成不适用数据持久化
代码语言:txt
复制
sudo docker run -d -p 80:80 --name web liming/nginx
curl 127.0.0.1
ip a
  • 容器生成使用数据持久化
代码语言:txt
复制
#删除原来的容器
sudo docker rm -f web
#容器内的80对外部的80,pwd对应/usr/share/nginx/html的
sudo docker run -d -p 80:80 -v $(pwd):/usr/share/nginx/html --name web liming/nginx  
curl 127.0.0.1
sudo docker exec -it web /bin/sh
cd /usr/share/nginx/html
#在数据持久化目录里面增加文件aaa.test
touch aaa.test
exit
代码语言:txt
复制
cd ~/labs/docker-nginx/
#查看路径已经多了一个文件aaa.test
ls
#修改aaa.test文件内容
vim aaa.test
sudo docker exec -it web /bin/sh
代码语言:txt
复制
sudo docker exec -it web /bin/sh
#容器内可以看到数据持久化的信息
more  aaa.test

PS:bind mount 需要指定 host 文件系统的特定路径,这就限制了容器的可移植性,当需要将容器迁移到其他 host,而该 host 没有要 mount 的数据或者数据不在相同的路径时,操作会失败。但是我感觉已经很方便了。


image
image

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Bind Mouting
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档