Docker07-数据管理
将数据保存在容器外部
容器在运行项目时会产生数据,比如运行的mysql容器,那么一定会有数据产生。
如果将数据保存在容器内部,那么也就意味着我们改变了原有镜像,这种做法是不可取的,因为在后期的镜像升级将变得不可能了。也就是说,运行的镜像,最好不要改变,如果必须改变,在改变后记得commit提交打成一个新的镜像
显然,数据是应该保持在容器的外部,也就是说保持在主机上了。那么容器如何读取主机中的数据呢?
挂载参数 -v
在create或者run容器时,通过-v参数指定主机的目录,挂载在容器中的某一个目录上,这样容器就在这个目录读写数据了,从而实现了容器和数据的分离。
案例:运行mysql容器,将mysql的数据放在主机/data/mysql-data中。
- 下载mysql镜像
docker pull mysql:5.5
- 创建容器
docker create --name mysql -v /data/mysql-data:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.5
参数解释:
--name mysql: 指定容器的名称为mysql
-v /data/mysql-data:/var/lib/mysql:将主机目录/data/mysql-data挂载到容器的目录/var/lib/mysql上
-p 3306:3306 :设置端口映射,前面的端口3306是主机端口,后面的端口3306是容器内部端口
-e MYSQL_ROOT_PASSWORD=root: 设置容器参数,设置root用户的密码为root
mysql:5.5:指定镜像名:版本
- 启动容器
dockert start <镜像ID>
root@ubuntu:/home/guanfuchang# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6b0589fb6196 mysql:5.5 "docker-entrypoint.s…" 10 seconds ago Created mysql
5f3e056f65d1 hello-world "/hello" 3 hours ago Exited (0) 3 hours ago kind_wescoff
07bf73ec9f73 redis:5.0 "docker-entrypoint.s…" 23 hours ago Up About a minute 0.0.0.0:16379->6379/tcp redis
root@ubuntu:/home/guanfuchang#
root@ubuntu:/home/guanfuchang# docker start 6b0589fb6196
6b0589fb6196
root@ubuntu:/home/guanfuchang#
root@ubuntu:/home/guanfuchang# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6b0589fb6196 mysql:5.5 "docker-entrypoint.s…" 57 seconds ago Up 6 seconds 0.0.0.0:3306->3306/tcp mysql
07bf73ec9f73 redis:5.0 "docker-entrypoint.s…" 23 hours ago Up About a minute 0.0.0.0:16379->6379/tcp redis
测试连接,创建数据



检查主机上的数据
root@ubuntu:/home/guanfuchang#
root@ubuntu:/home/guanfuchang# ls /data/mysql-data/
6b0589fb6196.pid ibdata1 ib_logfile0 ib_logfile1 mt_gff mysql performance_schema
root@ubuntu:/home/guanfuchang# ls /data/mysql-data/mt_gff/
db.opt student.frm
root@ubuntu:/home/guanfuchang#
通过上面的查询结果可见,在主机目录/data/mysql-data中已经保存了mysql的数据。
:-: 
微信扫一扫,关注“python测试开发圈”,了解更多测试教程!
Docker07-数据管理的更多相关文章
- Hadoop的数据管理
Hadoop的数据管理,主要包括Hadoop的分布式文件系统HDFS.分布式数据库HBase和数据仓库工具Hive的数据管理. 1.HDFS的数据管理 HDFS是分布式计算的存储基石,Hadoop分布 ...
- Docker 基础 : 数据管理
用户在使用 Docker 的过程中,往往需要能查看容器内应用产生的数据,或者需要把容器内的数据进行备份,甚至多个容器之间进行数据的共享,这必然涉及容器的数据管理操作.容器中管理数据主要有两种方式:数据 ...
- 大数据慎行,数据管理要落实到KPI
近年来,"大数据"一词被IT和互联网行业广泛提及,但真正落到实处的案例没有多少,大数据量支撑.数据挖掘技术.非结构化数据是阻碍的主要原因.大多数企业的信息化并没有达到到成熟水平,关 ...
- Quartz2D 编程指南(三)渐变、透明层 、数据管理
概览 图形上下文 路径 颜色与颜色空间 变换 图案 阴影 渐变 透明层 Quartz 2D 中的数据管理 位图与图像遮罩 CoreGraphics 绘制 Layer 渐变 简介 渐变是从一个颜色到另外 ...
- R语言实战(二)数据管理
本文对应<R语言实战>第4章:基本数据管理:第5章:高级数据管理 创建新变量 #建议采用transform()函数 mydata <- transform(mydata, sumx ...
- 深入解析DC/OS 1.8 – 高可靠的微服务及大数据管理平台
深入解析DC/OS 1.8 – 高可靠的微服务及大数据管理平台 大家好,欢迎大家参加这次DC/OS的技术分享. 先做个自我介绍,刘超,Linker Networks首席架构师,Open DC/OS社区 ...
- 五、Pillar数据管理中心
Pillar是数据管理中心. Pillar在saltstack中主要作用是存储和定义一些配置管理中需要的信息(比如:软件版本,用户名,密码等) 修改pillar相关配置文件: [root@super6 ...
- Docker数据管理
用户在使用Docker的过程中,往往需要能查看容器内应用产生的数据,或者需要把容器内的数据进行备份,甚至多个容器之间进行数据共享,这必然涉及到Docker的数据管理. 容器中管理数据主要有两种方式: ...
- Mongodb 笔记08 了解应用的动态、数据管理、持久性
了解应用的动态 1. 了解正在进行的操作:db.currentOp() , 可以加过滤条件,从而只显示符合条件的结果. 1). 寻找有问题的操作:db.currentOp() 最常见的操作就是用来寻找 ...
- 使用Dropbox提高个人数据管理效率
Dropbox 应该大家都不陌生,其在云存储阵营中独树一帜,通俗的说它是提供多终端和云之间的数据同步服务,而就其本质来说它无非是将数据的采集.存储和分发三个关节打通,整合成统一服务对外提供.这就好比只 ...
随机推荐
- Django 1.11 shell中模块导入问题
django报错:django.core.exceptions.ImproperlyConfigured: 处理办法 import os os.environ['DJANGO_SETTINGS_MOD ...
- Debian9 安装软件汇总
dpkg dpkg -i 安装本地安装包 echo 'pkgname newstat' | dpkg --set-selections 修改软件包安装状态 newstat install,deinst ...
- python3 pathlib库中的Path类的使用
调用库 from pathlib import Path 获取 Path 的文件名 Path.name 参考 https://blog.csdn.net/amanfromearth/article/d ...
- Vue.js之入门
1.What is Vue.js? Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的 渐进式框架,通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件. 2.引入 ...
- 20165313-bof进阶
实践基础知识 1.ALSR 1.定义: ASLR,全称为 Address Space Layout Randomization,地址空间布局随机化,它将进程的某些内存空间地址进行随机化来增大入侵者预测 ...
- Nginx配置反向代理支持WebSocket
http { #WebSocket代理配置 map $http_upgrade $connection_upgrade { default upgrade; '' close; } server { ...
- Intellij IDEA运行前不检查其他类的错误
解决方法 第一步 第二步 在工具栏选择 , Run Configurations 设置在运行前不检查错误
- AKKA Actor创建
Actor 类定义 Actor 类需要继承AbstractActor类 实现createReceive方法,绑定各类actor收到不同类型消息对应处理不同业务逻辑 默认提供了ReceiveBuilde ...
- JSON ------ 创建与访问
JSON (Java Script Object Notation, js对象表示法) 是存储和交换文本信息的语法,类似 XML JSON的文件类型是 “.json” 优点: 比XML ...
- 2014百度之星 Information
Information Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...