docker学习系列(四):数据持久化

需要搞清楚一个概念的是,docker的容器设计理念是可以即开即用,用完可以随意删除,而新建容器是根据镜像进行渲染,容器的修改是不会影响到镜像,但是有时候容器里面运行的产生的数据(如mysql)或者配置项(如nginx的nginx.conf)我们又需要保存起来的,因而我们需要对容器某些修改的数据进行挂载。

下面介绍三种持久化数据的方式

1.挂载磁盘到本地

docker run -v 宿主目录:容器挂载的目录 镜像

这时候docker会自动在对应的目录下进行挂载,值得注意的是,如果容器里面没有宿主机对应的目录,那么容器会自动创建对应的目录。如果没有指定宿主目录,那么会自动在/var/lib/docker/volumes/下进行挂载。

2.使用数据容器

可以选择创建docker容器,来作为共享数据的容器。

# 创建数据容器
docker create -v 宿主目录:容器目录 --name 数据容器名字 基于的环境
# 挂载
docker run --volumes-from 数据容器名字 镜像

3.持久化到镜像

适用于镜像里的某些运行环境的修改,如php-fpm里面还需要多安装一个php-pdo之类的东西。

# 保存更改并生成为一个新的image文件
$ docker commit -m "mess" 镜像id 镜像名字

操作挂载盘

# 查看全部volume
docker volume ls
# 删除对应的volume
docker volume rm volumeid

原文地址:https://www.cnblogs.com/s-b-b/p/8600776.html

时间: 2024-08-26 01:48:11

docker学习系列(四):数据持久化的相关文章

Docker学习系列(一):windows下安装docker

本文目录如下: windows按照docker的基本要求 具体安装步骤 开始使用 安装远程连接工具连接docker 安装中遇到的问题 Docker的更新 Docker中的jupyter windows下使用docker的常用命令 windows下安装docker的方法应该参考docker官网,之前参考的是网上其他人翻译的博客,出了一些问题,后来发现,是由于docker更新速度较快,安装官网的方法最为妥当! 下面引用Docker 中文指南中的几个提示: 提示1:Docker 已经在windows7

Unity游戏开发学习之路——数据持久化

数据持久化 谈到数据持久化,在Unity的游戏开发中十分重要的,不管是是在本地和服务器端,数据持久化都是我们学习的难点,数据持久化的技术有很多种,这里只选取几种,目前也是我所学到的,在接下来的时间里会陆续整理到这里. Part1:PlayerPrefs类 这是unity圣典中给出的, PlayerPrefs 游戏存档 Description 描述 在游戏会话中储存和访问游戏存档.这个是持久化数据储存,比如保存游戏记录. Editor/Standalone 编辑器 / 桌面平台 Mac OS 在M

Redis学习总结(1)——数据持久化

以前研究Redis的时候,很多东西都不太明白,理解得也不太深,现在有时间重新拾起来看看,将一些心得记录下来,希望和大家一起探讨. 一.简介 Redis是一个单线程高可用的Key-Value存储系统,和Memcached类似,但是实际使用上最大的区别有两方面: Redis支持多种数据结构类型的value,比如string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和hash(哈希类型): Memcached在出现系统瘫痪的情况下,无法实现系统恢复,而

Snail—OC学习之本地数据持久化(plist)

plist文件的格式 plist是一种数据持久化的文件 1.最外层通常为数组或者字典 2.plist里面的数据 只局限于数组.字典.逻辑值(BOOL).NSNumber.NSData.NSDate.字符串等数据类型 3.无法存储自定义类型的对象 plist作用 1.不适用它作为缓存 无法存储自定义类型的对象 2.通常存储长时间不容易发生变化的数据.国家.省市区.汽车品牌.项目的info.plist工程的设置信息 3.占用内存小 #import <Foundation/Foundation.h>

Identity Server4学习系列四之用户名密码获得访问令牌

1.简介 Identity Server4支持用户名密码模式,允许调用客户端使用用户名密码来获得访问Api资源(遵循Auth 2.0协议)的Access Token,MS可能考虑兼容老的系统,实现了这个功能,但是不建议这么做. 2.实战一服务端配置 接着Identity Server4学习系列三的基础上,直接扩展里面的项目代码,让服务端同时支持密钥认证和用户名密码认证 第一步:扩展ThirdClients类,如下: /// <summary> /// 配置可以访问IdentityServer4

ios学习笔记-数据持久化

沙盒 沙盒是一种数据安全策略,只允许自己的应用访问目录.可以使用NSHomeDirectory()获取. ios沙盒下有三个子目录: 1.Documents目录:用于存储比较大的文件活着需要频发女更新的数据,需要持久化的数据.获取代码: NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]; 2.Library目录:

Android SDK范例源码学习系列四 AppNavigation

 (本系列基于Jelly Bean,Android OS4.2,API 17版本) 就算是最简单的应用程序也会拥有不止一项功能,因此我们经常要应对多个Activity.主Activity随应用程序启动而启动,可以通过触发事件开启另外的Activity.要想激活应用中的某个特定组件,可以用显式命名的Intent来实现,也可以采用隐式Intent,尽可能选用隐式的,它能为模块化功能提供强大的框架. 隐式Intent不需要指定要使用哪个组件,它们通过过滤器指定所需的功能,而Android系统必须决定使

Vue学习系列(四)——理解生命周期和钩子

前言 在上一篇中,我们对平时进行vue开发中遇到的常用指令进行归类说明讲解,大概已经学会了怎么去实现数据绑定,以及实现动态的实现数据展示功能,运用指令,可以更好更快的进行开发.而在这一篇中,我们将通过实例,探究vue的生命周期. 万物皆有灵,世间万物都拥有灵魂,小到山河湖海,花草树木,蚂蚁到人类,以及所有的动植物,大到地球星空和宇宙,都拥有灵魂,可以说他们都是有生命的,只是他们的生命形态是我们人类所不能理解的存在.在生产中,生命周期通俗来讲,就是从自然中来回到自然中去的全过程,也就是从采集材料设

Docker学习系列(二)Docker初体验

一.系统要求 Docker的安装,需要在CentOS 7.0+版本,内核至少3.10,64-bit uname --r [[email protected] ~]$ uname --r 3.10.0-514.6.2.el7.x86_64 [[email protected] ~]$ 二.更新YUM yun update 三.新建Docker repository 在 /etc/yum.repos.d/下新建一个文件docker.repo,内如如下 [dockerrepo] name=Docker