Docker基础实战教程四:数据卷操作_川师_King的博客-程序员ITS301

技术标签: Educoder机器学习编程题解析  

在实际的生产环境中,数据的持久化是常见的操作。那么使用Docker如何实现数据持久化呢?数据卷是Docker容器对数据进行共享和持久化的方式之一。数据卷是一个可供容器使用的特殊目录,它将主机操作系统目录直接映射进容器,其生命周期独立于容器本身。
本实训主要介绍数据卷的创建、挂载、删除与恢复等操作。通过本实训,学习者应该理解和掌握Docker中数据卷的基本原理和管理操作等

创建一个数据卷

#!/bin/bash
#创建一个名为vo1的数据卷,并将该数据卷挂载到container1容器的/dir1目录。
#拉取ubutun 最新镜像,实际生产中,docker pull 这一步可以省略,docker run的时候会自己去拉取。
docker pull ubuntu

#********** Begin *********#
docker run -v vo1:/dir1 --name container1 ubuntu
#********** End **********#

挂载和共享数据卷

#1.创建一个名为container1的容器,并将本地主机的/dir1目录挂载到容器中的/codir1中。
#拉取ubutun 最新镜像,实际生产中,docker pull 这一步可以省略,docker run的时候会自己去拉取。
docker pull ubuntu

#********** Begin *********#
docker run -v /dir1:/codir1 --name container1 ubuntu
#********** End **********#
#2.创建一个名为container2的容器,与container1共享数据卷。
#********** Begin *********#
docker run --volumes-from container1 --name container2 ubuntu
#********** End **********#

查看数据卷的信息

#创建一个容器,并创建一个随机名字的数据卷挂载到容器的/data目录
#拉取ubutun 最新镜像,实际生产中,docker pull 这一步可以省略,docker run的时候会自己去拉取。
docker pull ubuntu &> /dev/null 
docker rm container1 -f &>/dev/null
docker run -v /data --name container1 ubuntu
#输出容器container1创建的数据卷的名字
#********** Begin *********#
docker inspect --type container --format='{
    {range .Mounts}}{
    {.Name}}{
    {end}}' container1
#********** End **********#

删除数据卷

#!/bin/bash
#创建一个名为container1的容器,创建一个数据卷挂载到容器的/data目录
#拉取ubutun 最新镜像,实际生产中,docker pull 这一步可以省略,docker run的时候会自己去拉取。
docker pull ubuntu

docker run -v vo4:/data --name container1 ubuntu
#删除container1对应的数据卷
#********** Begin *********#
docker rm -v container1
docker volume rm vo4
#********** End **********#

备份、恢复数据卷

#!/bin/bash
#拉取ubutun 最新镜像,实际生产中,docker pull 这一步可以省略,docker run的时候会自己去拉取。
docker pull ubuntu
# 创建一个vo1的数据卷,并在数据卷中添加1.txt文件
docker run --name vocontainer1 -v vo1:/dir1 ubuntu touch /dir1/1.txt
#1.将vo1数据卷的数据备份到宿主机的/newback中,将容器的/backup路径挂载上去,并将容器内/dir1文件夹打包至/backup/backup.tar
#********** Begin *********#
docker run --volumes-from vocontainer1 -v /newback:/backup  ubuntu tar -cvf /backup/backup.tar /dir1
#********** End **********#
#删除所有的容器以及它使用的数据卷
docker rm -vf $(docker ps -aq)
docker volume rm vo1
#在次创建一个vo1的数据卷
docker run -itd --name vocontainer2 -v vo1:/dir1 ubuntu /bin/bash
#2.将保存在宿主机中备份文件的数据恢复到vocontainer2的/中
#********** Begin *********#
docker run --volumes-from vocontainer2 -v /newback:/backup ubuntu tar -xvf /backup/backup.tar -C /
#********** End **********#
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44196785/article/details/112042521

智能推荐

python 美团api接口对接_美团券对接API文档_weixin_39821874的博客-程序员ITS301

美团券验证平台接入文档1接入步骤2验证流程3接口设计3.0说明3.0.1sign计算方法:3.0.2测试用的app_key,sign_key和美团券密码:3.1M1接口:查询美团券信息接口地址:请求方式:输入参数:返回结果:错误码:调用示例:3.2M2接口:消费美团券接口地址:请求方式:输入参数:返回结果:错误码:调用示例:3.3M3接口:冲正美团券状态接口地址:请求方式:输入...

CCProxy+Proxifier代理手机连接电脑(玩网游)支持VIST(防QQ不掉线)本文转载_木木老蔫的博客-程序员ITS301

本文出自论群网http://gprs.b.lunqun.com/read-htm-tid-442922.htmlCCProxy+Proxifier代理手机连接电脑(玩网游)支持VIST(防QQ不掉线)说明:这里只讲代理设置手机连接电脑太简单在网上随便都能找到!教程傻瓜式操作,只要按我的步骤和要求(游戏版本最新)100%玩网游[qq]23496470本人空间地址:2349

使用XShell在腾讯云服务器Centos7上安装JDK过程_你对我笑i的博客-程序员ITS301_用xshell向centos7传jdk

一、卸载自带的JDK1.检查服务器上是否存在JDKrpm -qa | grep java2.删除自带的JDK(如果没有,则忽略)输入rpm -e --nodeps 要卸载的软件二、去官网下载Linux版本的JDKhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-213315...

有道词典在安装copytranslator后竟无法打开,是巧合还是冲突,还是我在这个过程中有错误操作? 用户组的知识_构建的乐趣的博客-程序员ITS301_copytranslator无法使用

实在是太诡异了。如图,我在copytranslator中设置了置顶、并向用户组input添加了$USER,copytranslator其他的一些选项我也动了一下。然后我惊觉有道词典无法打开,如上图,卡在进入的界面,但是无法进入,并且会带走一部分的背景,你可看到有道词典带走了一部分的背景图。这是为什么?我试图卸载copytranslator,但这不起作用,然后我删除了copytranslator中要求我向用户组input添加的$USER:(base) [email protected]

条款13:优先使用const_iterator,而非iterator_CCSUZB的博客-程序员ITS301_使用const_iterator

考虑如下代码:std::vector<int> values;std::vector<int>::iterator it = std::find(values.begin(), values.end(), 1983);values.insert(it, 1998);如果vector中并没有1983,那么插入位置将是末尾处。但在这里使用iterator并非正确选择...

PCIe各版本结构剖析_kunkliu的博客-程序员ITS301_pcie版本区别

 最近在学习驱动开发过程中涉及到PCI相关知识,在网上看了很多文章,良莠不齐,我总结一下比较好的文章分享给大家,那就从源头开始说起。   PCI总线和设备树是X86硬件体系内很重要的组成部分,几乎所有的外围硬件都以这样或那样的形式连接到PCI设备树上。虽然Intel为了方便各种IP的接入而提出IOSF总线,但是其主体接口(primary interface)还依然是PCIe形式。我们下面分成两部分介绍PCI和他的继承者PCIe(PCI...

随便推点

Linux内核页表是段表么,linux内核刷新页表问题_的确良时光的博客-程序员ITS301

我在understandingthelinuxkernel中看到Asageneralrule,anyprocessswitchimplieschangingthesetofactivepagetables.LocalTLBentriesrelativetotheoldpagetablesmustbeflushed;thisisdone...

布隆过滤器概念及其公式推导_gaoyueace的博客-程序员ITS301_布隆过滤器公式

布隆过滤器概念及其公式推导布隆过滤器概念数据如何存入布隆过滤器误判情况实际应用面试题公式推导误判概率即失误率的证明和计算其他使用场景公式推导内容转自博客 https://blog.csdn.net/houzuoxin/article/details/20907911布隆过滤器概念数据如何存入布隆过滤器布隆过滤器是由一个很长的二进制矢量和一系列哈希函数组成的。二进制矢量本质是一个位数组:数...

【GDOI模拟】无界单词_Facico的博客-程序员ITS301

Description你在坐飞机的时候总是喜欢随便写点文字以打发时间。 对于一个单词S,如果存在一个长度L,满足0Solution这是一道很神奇的题目。正常的直接用字符串的算法做不了的话那么就是字符串上DP了。 首先,第一个答案很好算,用f[i]表示长度为i的无界单词有多少个。 发现有界单词比较好求,所以可以用总数减去所有的有界单词就是无界单词的个数。首先我们可以知道一个结论就是用一个长度大于

RCE远程命令执行之 pikachu 靶场练习_Goodric的博客-程序员ITS301_命令执行靶场推荐

RCE远程命令执行RCE(remote command/code execute ,远程命令执行)可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统。前面对rce 的一些基础知识进行学习:RCE学习下面通过 pikachu 靶场对 rce 漏洞的两种形式进行测试。exec“ping”远程系统命令执行后台对用户输入的IP地址进行一次 ping 测试,并返回测试结果。尝试 ping 一下本地127.0.0.1可以看到 ping 成功了。不过这里存在乱码,靶场是放在 W

2021-01-19_深海万里OL的博客-程序员ITS301

数据结构算法:在线处理解决问题:最大子列和问题问题描述:https://share.weiyun.com/M8air5qz在解决此问题时,考虑到时间问题,在线处理则是解决该问题最快的方法。代码:#include<stdio.h>int sum(int n, int num[]){ int thissum=0,maxsum=0; int i; for(i=0;i<n;i++) { thissum+=num[i]; //向右累加 if(thissum>ma

pytorch不加载fc_pytorch使用不完全文档_曼汉学院的博客-程序员ITS301

tensorflow和pytorch环境是好的的话,链接中的logger.py拉到自己的工程里,train.py里添加相应代码,直接能用。关于环境,小小折腾了下,大概一小时:大概一年前用过tensorflow, mac里的环境还在,当时装的虚拟环境,由于工程中用到了caffe,在虚拟环境中编译caffe,去掉之前工程中用的caffe路径,把虚拟环境中的caffe路径添加到虚拟环境下的pythonp...

推荐文章

热门文章

相关标签