前言
最近因为考虑数据支持化问题,需要将docker容器中的数据绕过Union File System然后持久化到本地,想到一种方式就是共享物理机的硬盘,故需要为容器绑定卷组。正常情况下,绑定卷组在容器创建之前完成,常规做法有如下:
Dockerfile添加- 命令创建容器时指定
这个由于容器已创建好并且处于运行中,需要在不重建容器的前提下进行动态添加卷组。
步骤
1. 安装nsenter
nsenter是一个可以进入容器的工具, 它可以输入现有的名称空间,也可以将进程生成为一组新的名称空间,安装如下:
$ docker run --rm -v /usr/local/bin:/target jpetazzo/nsenter
2. 编写卷组脚本
新建可执行文件dynamic_mount_docker_volume,并键入:
#!/bin/bash
#This script is dynamic mount docker volumens
#Author Deng Lei
#https://github.com/pushiqiang/utils/blob
本文介绍了如何在不重启容器的情况下,通过nsenter工具动态为运行中的Docker容器添加卷Volume,以实现数据持久化。首先,安装nsenter,然后编写卷组脚本,最后通过执行脚本将本地目录挂载到容器内。挂载卷的好处包括数据共享、即时生效和独立于容器生命周期。
订阅专栏 解锁全文
5万+

被折叠的 条评论
为什么被折叠?



