[docker] Docker的数据卷、数据卷容器,容器互联

一、数据卷(容器与宿主机之间数据共享) 

数据卷是一个供容器使用的特殊目录,位于容器中。可将宿主机的目录挂载到数据卷上,对数据卷的修改操作立刻可见,并且更新数据不会影响镜像,从而实现数据在宿主机与容器之间的迁移。数据卷的使用类似于Linux下对目录进行的mount操作。 

想要将容器中的数据持久化,可以将宿主机目录挂载到容器中。

一般只建议在创建容器时进行挂载,不建议启动容器后再挂载。因为启动容器后再挂载的话,需要修改配置文件,且不一定能挂载成功。

 docker run -v 数据卷              #在容器内创建数据卷​docker run -v 宿主机目录:数据卷    #将宿主机目录挂载到容器中#注意:宿主机本地目录的路径必须是使用绝对路径。如果路径不存在,Docker会自动创建相应的路径。#挂载后的目录默认可读可写docker run -id --name tomcat1 -v /opt/:/mnt/ tomcat:9.0

 #如果希望挂载后的目录为只读目录,可以在挂载时加:ro参数docker run -v 宿主机目录:数据卷:ro    #将宿主机目录挂载到容器中,只可读docker run -id --name tomcat2 -v /opt/:/mnt:ro tomcat:9.0

 

二、数据卷容器(容器与容器之间数据共享) 

有时时候,容器之间共享一些数据,最简单的方法就是使用数据卷容器。数据卷容器是一个普通的容器,专门提供数据卷给其他容器挂载使用。 

#创建数据卷容器co1。创建/data1和/data2两个数据卷。docker run -id --name co1 -v /data1 -v /data2 -itd centos:7docker exec -it co1 bash                #进入web2容器#使用--volumes-from 来挂载co1容器中的数据卷到新的容器co2docker run -id --volumes-from co1 --name co2 centos:7docker exec -it co2 bash       #进入web3容器

 

三、容器互联(使用centos镜像) 

容器互联是通过容器的名称在容器间建立一条专门的网络通信隧道。简单点说,就是会在源容器和接收容器之问建立一条隧道,接收容器可以看到源容器指定的信息。

3.1 实现容器互联

#创建并运行源容器取名c1docker run -itd -P --name c1 centos:7 /bin/bash#创建并运行接收容器取名c2,使用--1ink选项指定连接容器c1以实现容器互联。docker run -itd -P --name c2 --link c1:c2 centos:7 /bin/bash##--link 容器名:连接的别名​#进c2容器,ping c1,通过容器名称或者别名都可以通信docker exec -it c2 bash#可以看到c1容器的IP地址​#进入c1容器,查看c1的IP地址docker exec -it c1 bashyum install -y net-tools   #下载网络工具ifconfig                   #查看IP和c2中显示的一致

 

3.2 只通过IP进行通信  

#创建容器c3,没有与c1做互联docker run -itd -P --name c3 centos:7 /bin/bashdocker exec -it c3 bash      #进入容器c3#通过c1的容器名称和别名,都无法和c1通信ping c1        #提示:ping: c1: Name or service not knownping C1        #提示:ping: C1: Name or service not known#只能通过IP进行通信

 

总结

命令说明
docker run -v 宿主机目录:数据卷将宿主机的目录挂载到容器的目录
docker run -v 数据卷指定创建容器的目录为数据卷,可供其他容器挂载
docker run --volumes-from 数据卷容器挂载数据卷容器(挂载点路径不变
docker run --link 源容器名称:别名容器互联

注意:一般只建议在创建容器时进行挂载,不建议启动容器后再挂载。

因为启动容器后再挂载的话,需要修改配置文件,且不一定能挂载成功

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/647907.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

81.网游逆向分析与插件开发-背包的获取-装备栏数据结构的逆向分析

内容参考于:易道云信息技术研究院VIP课 上一个内容:自动化助手显示物品数据-CSDN博客 然后游戏中有弓箭,弓箭有数量,可以作为突破口,也可以使用物品id 获取弓的方式 获取弓箭的方式 然后搜索250 然后搜索出一个 然后…

Spring和 Springboot的区别你了解吗

什么是Spring The Spring Framework provides a comprehensive programming and configuration model for modern Java-based enterprise applications - on any kind of deployment platform. 简单来说Spring framework为基于Java的企业应用程序提供了全面的编程和配置模型&am…

Linux零碎点

目录 Linux基础命令 1、who: 2、hostname: 3、ifconfig: 4、pwd: 5、cd: 6、exit: 7、shutdown: 8、ls: 9、创建文件夹: 10、touch: 11、cp&#…

在百度云免费配置SSL证书 http改https操作

以下以在百度智能云上的操作为例,并不是给他打广告 1.购买域名 2.到域名管理处,解析网址,添加,*,www,指向服务器IP, 此时就可以访问网址:http://www.域名.cn 3.但是浏览器会报不安全,所以需要配置SSL证书…

【手写数据库toadb】10 开发数据库内核开发阶段-数据库模型

数据库内核模型介绍 ​专栏内容: 手写数据库toadb 本专栏主要介绍如何从零开发,开发的步骤,以及开发过程中的涉及的原理,遇到的问题等,让大家能跟上并且可以一起开发,让每个需要的人成为参与者。 本专栏会定期更新,对应的代码也会定期更新,每个阶段的代码会打上tag,方…

acrobat调整pdf的页码和实际页码保持一致

Acrobat版本 具体操作 现在拿到pdf的结构如下: pdf页码实际页码1-10页无页码数11页第1页 操作,选择pdf第10页,右键点击 具体设置 最终效果

web前端之ES6的实用深度解构赋值方法、复杂的解构赋值

MENU 前言解构对象解构数组解构混用 前言 ES6中允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。 使用解构赋值可以将复杂的代码整理的更加干净整洁。 解构对象 在没有使用解构之前,想要确定…

实习日志5

活字格图片上传功能(批量) 这个报错真的恶心,又看不了他服务器源码,接口文档又是错的 活字格V9获取图片失败bug,报错404-CSDN博客 代码BUG记录: 问题:上传多个文件的base64编码被最后一个文…

【oracle】oracle客户端及oracle连接工具

一、关于oracle客户端 1.1 Oracle Client 完整客户端 包含完整的客户端连接工具。 包很大,需要安装 1.2 instantclient 即时客户端 是 Oracle(R) 发布的轻量级数据库客户端,减少甚至只包含几个文件,您无需安装标准的客户端,就可以…

mybatis plus入门

mybatis plus入门 MyBatis-Plus 是 MyBatis 的一个增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。它继承了 MyBatis 原生的所有特性,并且做了深度的优化和扩展。以下是 MyBatis-Plus 的一些主要特性和功能&#…

视频渲染靠cpu还是显卡 会声会影视频渲染的作用是什么

视频渲染最占用的资源就是CPU,多核心多线程,这样才能渲染快。渲染可以在时间线上实时平滑预览,便于编辑,最终导出成片的时候速度也会快一些,渲染就是对每桢的图像进行重新优化的过程。 渲染的作用主要是能够保证使用者…

Layui技术积累

2024.01.24 1.Layui 栅格系统 在 Layui 的栅格系统中,屏幕尺寸的划分为: 中等屏幕(md): 12 列小屏幕(sm): 12 列极小屏幕(xs): 12 列 不同的类名…

【java面试】Spring

目录 1. Spring 介绍1.1 Spring 的优点1.2 Spring 的缺点1.3 详细讲解一下核心容器(spring context应用上下文) 模块 2. Spring俩大核心概念IOC,Inversion of Control,控制反转AOP(Aspect-OrientedProgramming),面向切面编程Sprin…

海量数据场景下的热门算法题(算法村第十五关白银挑战)

从40亿中产生一个不存在的整数 给定一个输入文件,包含40亿个非负整数,请设计一个算法,产生一个不存在该文件中的整数,假设你有1GB的内存来完成这项任务。 进阶:如果只有10MB的内存可用,该怎么办&#xff1f…

Gradle学习笔记:Gradle的使用方法

文章目录 1.初始化项目2.构建脚本语言选择3.项目命名4.项目构建过程 1.初始化项目 创建一个test空文件夹,在该文件夹下打开终端,并执行命令:gradle init. 会有一个选项让你选择项目的类型。下面是每个选项的含义和用途: basic&am…

Hylicos - MINI2440 - 中断控制

中断 中断源管理 中断是一种异步异常,CPU需要处理很多来自设备的中断请求,而CPU引出的line只有IRQ线和FIQ线,所以就得引入中断控制器帮助CPU搞清楚是中断的来源。 MINI2440的中断控制器,可以接受来自60个中断源的请求。提供这些…

mysql更新charset

因为要从mysql5.x升级到mysql8,原来数据库表里面的一些utf-8字段只支持utf8mb3,更新到utf8mb4以支持更多的unicode字符. 解决办法 改变数据库 ALTER DATABASEdatabase_nameCHARACTER SET utf8mb4COLLATE utf8mb4_general_ci;改变表 ALTER TABLEtab…

k8s从入门到实践

k8s从入门到实践 介绍 Kubernetes(简称k8s)和Docker Swarm是两个流行的容器编排工具,它们都可以帮助用户管理和部署分布式应用,尤其是基于容器的应用。以下是两者的主要特点和对比: Kubernetes (k8s): 开…

机器学习笔记 - 基于自定义数据集 + 3D CNN进行视频分类

一、简述 这里主要介绍了基于自定义动作识别数据集训练用于视频分类的 3D 卷积神经网络 (CNN) 。3D CNN 使用三维滤波器来执行卷积。内核能够在三个方向上滑动,而在 2D CNN 中它可以在二维上滑动。 这里的模型主要基于D. Tran 等人2017年的论文“动作识别的时空卷积研究”。 …

【算法】糖果(差分约束)

题目 幼儿园里有 N 个小朋友,老师现在想要给这些小朋友们分配糖果,要求每个小朋友都要分到糖果。 但是小朋友们也有嫉妒心,总是会提出一些要求,比如小明不希望小红分到的糖果比他的多,于是在分配糖果的时候&#xff…