卷技术,容器内部数据映射到宿主机上

一、直接使用命令来挂载

 docker run -it -v /home/test:/home centos /bin/bash# 在主机上查看 docker运行容器的id
[root@localhost home]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
b4acd8cae254        centos              "/bin/bash"         3 minutes ago       Up 3 minutes                            zen_khorana# docker inspect id    查看详细信息
[root@localhost home]# docker inspect b4acd8cae254#卷挂载的信息
"Mounts": [{"Type": "bind","Source": "/home/test",   # 挂载到宿主机的位置"Destination": "/home",   # 容器内映射的位置"Mode": "","RW": true,"Propagation": "rprivate"}],touch [name]   #创建文件       容器内的数据映射到外部,容器销毁,宿主机数据一直存在

二、 挂载mysql


docker run -d -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d  -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456  mysql:5.7  --name mysql01# -d   后台运行
# -p    端口映射
# -v    卷挂载     宿主机位置:容器内位置
# -e    环境配置
#   --name   容器起名字# mysql需要配置密码
#官方文档 docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag

测试能否链接上 SQLyog

三、具名挂载、匿名挂载

# 不指定主机名   匿名挂载
docker run -d -P --name nginx1 -v etc/nginx nginx# 查看所有valume情况
[root@localhost home]# docker volume ls#  -v 只指定容器内地址不指定容器外地址,就是匿名挂载#具名挂载
docker run -d -P --name nginx1 -v nginx123:etc/nginx nginx
#通过 -v 卷名:容器内路径
#查看卷位置   docker volume inspect [卷名][{"CreatedAt": "2020-08-16T17:59:07+08:00","Driver": "local","Labels": null,"Mountpoint": "/var/lib/docker/volumes/e8eccd16213b4e53b86aa0bc752d857cbafa72b825ca308902dd5a050650f140/_data","Name": "e8eccd16213b4e53b86aa0bc752d857cbafa72b825ca308902dd5a050650f140","Options": null,"Scope": "local"}
]# 如何确定是具名挂载、匿名挂载还是指定路径挂载-v 容器内路径    #匿名挂载-v  卷名:容器内路径  #具名挂载-v  /宿主机路径:容器内路径  #指定路径挂载拓展docker run -d -P --name nginx1 -v etc/nginx:ro nginx  # readonly  只读,容器无写入权限docker run -d -P --name nginx1 -v etc/nginx:rw nginx  # readwrite

初识dockerfile

方式二 通过写dockerfile脚本生成镜像 镜像是一层一层的,脚本是一个一个的命令,每个命令都是一层!

[root@localhost home]# mkdir docker-test-volume
[root@localhost home]# cd  /docker-test-volume
[root@localhost docker-test-volume]#
[root@localhost docker-test-volume]# vi dockerfile1# 编写   dockerfile1
#  指令(大写) 参数
FROM centos
VOlUME ["volume01","volume02"]  # 挂载数据卷CMD echo "---end-------"
CMD /bin/bash# 一个命令就是一层

# docker build 打包一个镜像

[root@localhost docker-test-volume]# docker build -f dockerfile1 -t pengfan/centos:1.0 .
Sending build context to Docker daemon  2.048kB
Step 1/4 : FROM centos---> 831691599b88
Step 2/4 : VOlUME ["volume01","volume02"]---> Running in 37c39d353766
Removing intermediate container 37c39d353766---> 351c24fa9941
Step 3/4 : CMD echo "---end-------"---> Running in a5b0ac086790
Removing intermediate container a5b0ac086790---> 1bbd39e24a13
Step 4/4 : CMD /bin/bash---> Running in d3824b5a82b9
Removing intermediate container d3824b5a82b9---> 5e8cb90b06da
Successfully built 5e8cb90b06da
Successfully tagged pengfan/centos:1.0
[root@localhost docker-test-volume]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
pengfan/centos      1.0                 5e8cb90b06da        13 seconds ago      215MB
mysql               5.7                 718a6da099d8        11 days ago         448MB
nginx               latest              8cf1bfb43ff5        3 weeks ago         132MB
centos              latest              831691599b88        2 months ago        215MB
hello-world         latest              bf756fb1ae65        7 months ago        13.3kB
[root@localhost docker-test-volume]#

数据卷容器 多个mysql数据同步

# docker  run  [id/name]
[root@localhost docker-test-volume]# docker run -d  --name pengfan01 5e8cb90b06da  /bin/bash
9a16192911e5d14a6781cfa544670a4482ed3904bb8032c5af046690efafca0a
[root@localhost docker-test-volume]# # 新创建的pengfan02继承pengfan01的卷内容。  pengfan01的卷改变  pengfan02的卷也改变
[root@localhost docker-test-volume]# docker run -d   --name pengfan02  --volumes-from pengfan01  5e8cb90b06da  /bin/bash
8e81553ba701ab5c8f32d0d6c16635d7d0488fba6f8ed77ec32e2118c00d9239

多个mysql实现数据共享

#  启动mysql01容器并创建卷挂载
docker run -d  -p 3310:3306 -v /etc/mysql/conf.d  -v /var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7  /bin/bash#  启动mysql02备份mysql01
docker run -d  -p 3310:3306  -e MYSQL_ROOT_PASSWORD=123456 --name mysql02 --volumes-from mysql01 mysql:5.7   /bin/bash

结论

容器之间的信息传递,数据卷容器的生命周期一直持续到没有容器使用为止。

但是一旦转化到了本地,这个时候,本地的数据是不会删除的!

vant toast 指定挂载到指定位置_docker卷挂载技术相关推荐

  1. mysql挂载数据卷_docker卷挂载技术

    卷技术,容器内部数据映射到宿主机上 一.直接使用命令来挂载 docker run -it -v /home/test:/home centos /bin/bash# 在主机上查看 docker运行容器 ...

  2. docker挂载mysql会失败_Docker Mysql 挂载 /var/lib/mysql 后无法启动

    我也遇到相同的问题了 ` docker run \-p 4406:3306 \ -e MYSQL_ROOT_PASSWORD=localDocker@mysql \ -e TZ=Asia/Shangh ...

  3. pandas使用drop函数删除dataframe中指定索引列表对应位置的数据行(drop multiple rows in dataframe with integer index)

    pandas使用drop函数删除dataframe中指定索引列表对应位置的数据行(drop multiple rows in dataframe with  integer index) 目录

  4. R语言ggplot2可视化:指定标题的坐标轴位置(X轴坐标和Y轴坐标),将图像的标题(title)放置在图像内部的指定位置(customize title positon in plot)

    R语言ggplot2可视化:指定标题的坐标轴位置(X轴坐标和Y轴坐标),将图像的标题(title)放置在图像内部的指定位置(customize title positon in plot) 目录

  5. pandas使用rename函数自定义重命名dataframe指定索引标签(位置)的名称(customize rename index value or label)

    pandas使用rename函数自定义重命名dataframe指定索引标签(位置)的名称(customize rename index value or label) 目录

  6. R语言text函数在R原生可视化结果中添加文本标签、内容:指定文本显示的位置、颜色、字体大小等(Position、Change Color 、 Size of Text)

    R语言text函数在R原生可视化结果中添加文本标签.内容:指定文本显示的位置.颜色.字体大小等(Position.Change Color . Size of Text) 目录

  7. Xamarin+vs2010部署错误:error MSB6004: 指定的任务可执行文件位置\sdk\\tools\zipalign.exe”无效...

    好不容易配好了Xamarin和vs2010,也搞好了GenyMotion的虚拟机配置,开始调试的时候又报出了这样的错误: error MSB6004: 指定的任务可执行文件位置"C:\Use ...

  8. 私人笔记 -- 将图片插入到指定的单元格位置,并设置图片的宽度和高度

    /// <summary> /// 将图片插入到指定的单元格位置,并设置图片的宽度和高度. /// 注意:图片必须是绝对物理路径 /// </summary> /// < ...

  9. 页面刷新指定到原先滚动条位置

    //页面刷新指定到原先滚动条位置 window.onbeforeunload = function() {var scrollPos;if(typeof window.pageYOffset != ' ...

最新文章

  1. 致那些还在创业之路上孤独前行的青年大学生们!
  2. 面试官:能说一说Mysql缓存池吗?
  3. 51 NOD 1363 最小公倍数之和 (欧拉函数思维应用)
  4. 上交AI研究院副院长马利庄:基于大数据的人脸识别技术进展与展望
  5. ubuntu系统部署python3.6.4
  6. gitlab工作流程简介
  7. -Dmaven.multiModuleProjectDirectory system propery is not set.
  8. Hbase的安装与测试
  9. mod_expires和mod_deflate的配置
  10. 软件开发成本评估怎么做?软件开发成本评估从哪些方面进行?
  11. QQ玩一玩广告与音效使用总结
  12. Cisco Packet Tracer Student 两个路由器级联
  13. 【爬虫】Python爬虫经验分享--爬取码市招聘项目
  14. Launcher3 桌面加载流程分析
  15. Pyecharts组合图表复用渲染模块实现方法
  16. 专访王威廉:NLP哪些研究方向更容易取得突破?
  17. Python调用WPS API
  18. Matlab实现基于二维伽马函数的光照不均匀图像自适应校正算法
  19. python多因素电力预测——基于LSTM神经网络
  20. Python之pdb代码调试

热门文章

  1. Linux基础提高_系统性能相关命令
  2. HDU 2187 悼念512汶川大地震遇难同胞——老人是真饿了
  3. ASP.NET Core的身份认证框架IdentityServer4--入门【转】
  4. Kettle 学习导航帖整理
  5. 地铁客流检测训练问题记录
  6. BZOJ 3362 Navigation Nightmare 带权并查集
  7. PAT (Basic Level) Practise 1045 快速排序(离散化+主席树区间内的区间求和)
  8. 关于一些html和css2的知识点
  9. SPOJ GSS2 Can you answer these queries II (线段树离线) - xgtao -
  10. 可视化工具Navicat for MySQL-操作三