Docker数据管理

本文介绍了如何在Docker中创建、挂载数据卷,以及数据卷的备份和恢复方法。通过示例展示了如何使用`docker run`命令挂载本地目录到容器,创建数据卷容器,并进行数据卷的备份(将数据打包成tar文件)和恢复(解压tar文件)。此外,还演示了如何使用`docker rm`命令删除容器。

创建目录

[root@localhost ~]# mkdir /data

挂载本地的目录到容器里

[root@localhost ~]# docker run -itd -v /data/:/data centos bash
a235b71394ae177fa708de5d52350753879f8b176528a816f2b1e40e6baea55f

-v用来指定挂载目录,第一个data为宿主机本地目录,第二个data为容器里的目录,会在容器中自动创建
2.挂载数据卷

[root@localhost ~]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
f7b07b888e90        centos              "bash"              3 minutes ago       Up 3 minutes                            stupefied_swirles

在挂载目录时,可以指定容器的名字,不指定会随机定义可以用docker ps查看

[root@localhost ~]# docker run -itd --volumes-from stupefied_swirles f7b07b888e90  bashed_swirles centos1  bash
6b6061b6b09c8cf61609a409fe6fabf217f8e1214142d2e5b7f9a7e72725645e

使用了上一个数据卷和centos1镜像创建了一个新的容器
查询容器详细信息

[root@localhost ~]# docker inspect -f{{.Mounts}} 6b6061b6b09c
[{bind  /data /data   true rprivate}]

定义数据卷容器
1.建立数据卷容器 --name testvol 为容器的名字

[root@localhost ~]# docker run -itd -v /data/ --name testvol centos1 bash
2c1ac4cdad342647938369d3666509c96c71e8a462211af8b7e55d695efd3b46

让其他容器挂载到该数据卷(使用了上一个容器的数据卷)

[root@localhost ~]# docker run -itd --volumes-from testvol centos bash
704d75f52e2a0583e921f575cf1de6d86eac8a0405b69f47aa8cfd18435257fc

列出数据卷列表
[root@localhost ~]# docker volume ls
DRIVER VOLUME NAME
local be1394ad254559faf20886ac54f519f1a8525b63b1d594ec4094a7229a8934c5
2.先创建数据卷然后在创建数据卷容器
在这里插入图片描述

不进入容器直接查看

[root@localhost ~]# docker exec -it 704d75f52e2a ls
bin   dev  home  lib64       media  opt   root  sbin  sys  usr
data  etc  lib   lost+found  mnt    proc  run   srv   tmp  var                                                                  

数据卷的备份和恢复
备份
使用testvol数据卷新开一个容器,同时把本地/data backup/目录挂载在该容器/back下,这样在容器中/data/里面新建文件,我们就可以直接在/data/backup目录中看到。然后再把/data/目录下面的文件打包成data.tar文件放到backup目录下面
恢复
新建一个数据卷容器

[root@localhost ~]# mkdir /data/backup

再建一个新的容器

[root@localhost ~]# docker run -itd -v /data/ --name testvol centos bash
83a44ee716de9093e594c7a607e0e875dba8d34fa052bdbf081c54a12375eed3
[root@localhost ~]# docker run --volumes-from testvol -v /data/backup/:/backup centos tar cvf /backup/data.tar /data
[root@localhost ~]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS               NAMES
0536b49bee85        centos              "tar cvf /backup/dat…"   11 seconds ago      Exited (0) 10 seconds ago                       nifty_chebyshev
83a44ee716de        centos              "bash"                   25 seconds ago      Up 25 seconds                                   testvol
[root@localhost ~]# ll /data/backup
total 12
-rw-r--r--. 1 root root 10240 Jan 31 05:44 data.tar

删除所有容器

 [root@localhost ~]# docker rm -f $(docker ps -qa)
39e206d6ac38
e9b0f28055ed
475fcbfc80da
de497bc01cf9
704d75f52e2a
2c1ac4cdad34
6b6061b6b09c
f7b07b888e90
8ee231debbc6          

恢复
新建一个数据卷容器

[root@localhost ~]# docker run -itd -v /data/ --name testvol2 centos bash
9709dfb9ca3f0ea86e76fc3f0a873a8d75699a813b3b9f2a15d2b71e76fe45a2 

再建一个新的容器并挂载该数据容器,然后解压tar包

[root@localhost ~]# docker run --volumes-from testvol2 -v /data/backup/:/backup centos tar xf/backup/data/data.tar                  
内容概要:本文详细介绍了一个基于Java和Vue的联邦学习隐私保护推荐系统的设计与实现。系统采用联邦学习架构,使用户数据在本地完成模型训练,仅上传加密后的模型参数或梯度,通过中心服务器进行联邦平均聚合,从而实现数据隐私保护与协同建模的双重目标。项目涵盖完整的系统架构设计,包括本地模型训练、中心参数聚合、安全通信、前后端解耦、推荐算法插件化等模块,并结合差分隐私与同态加密等技术强化安全性。同时,系统通过Vue前端实现用户行为采集与个性化推荐展示,Java后端支撑高并发服务与日志处理,形成“本地训练—参数上传—全局聚合—模型下发—个性化微调”的完整闭环。文中还提供了关键模块的代码示例,如特征提取、模型聚合、加密上传等,增强了项目的可实施性与工程参考价值。 适合人群:具备一定Java和Vue开发基础,熟悉Spring Boot、RESTful API、分布式系统或机器学习相关技术,从事推荐系统、隐私计算或全栈开发方向的研发人员。 使用场景及目标:①学习联邦学习在推荐系统中的工程落地方法;②掌握隐私保护机制(如加密传输、差分隐私)与模型聚合技术的集成;③构建高安全、可扩展的分布式推荐系统原型;④实现前后端协同的个性化推荐闭环系统。 阅读建议:建议结合代码示例深入理解联邦学习流程,重点关注本地训练与全局聚合的协同逻辑,同时可基于项目架构进行算法替换与功能扩展,适用于科研验证与工业级系统原型开发。
源码来自:https://pan.quark.cn/s/a4b39357ea24 遗传算法 - 简书 遗传算法的理论是根据达尔文进化论而设计出来的算法: 人类是朝着好的方向(最优解)进化,进化过程中,会自动选择优良基因,淘汰劣等基因。 遗传算法(英语:genetic algorithm (GA) )是计算数学中用于解决最佳化的搜索算法,是进化算法的一种。 进化算法最初是借鉴了进化生物学中的一些现象而发展起来的,这些现象包括遗传、突变、自然选择、杂交等。 搜索算法的共同特征为: 首先组成一组候选解 依据某些适应性条件测算这些候选解的适应度 根据适应度保留某些候选解,放弃其他候选解 对保留的候选解进行某些操作,生成新的候选解 遗传算法流程 遗传算法的一般步骤 my_fitness函数 评估每条染色体所对应个体的适应度 升序排列适应度评估值,选出 前 parent_number 个 个体作为 待选 parent 种群(适应度函数的值越小越好) 从 待选 parent 种群 中随机选择 2 个个体作为父方和母方。 抽取父母双方的染色体,进行交叉,产生 2 个子代。 (交叉概率) 对子代(parent + 生成的 child)的染色体进行变异。 (变异概率) 重复3,4,5步骤,直到新种群(parentnumber + childnumber)的产生。 循环以上步骤直至找到满意的解。 名词解释 交叉概率:两个个体进行交配的概率。 例如,交配概率为0.8,则80%的“夫妻”会生育后代。 变异概率:所有的基因中发生变异的占总体的比例。 GA函数 适应度函数 适应度函数由解决的问题决定。 举一个平方和的例子。 简单的平方和问题 求函数的最小值,其中每个变量的取值区间都是 [-1, ...
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值