当前位置: 首页 > news >正文

Docker的数据卷

数据卷

1.数据卷概述

数据卷:容器与宿主机之间数据共享

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

想要将容器中的数据持久化,可以将宿主机目录挂载到容器中
一般只建议在创建容器时进行挂载,不建议启动容器后再挂载。
因为启动容器后再挂载的话,需要修改配置文件,且不一定能挂载成功。

2.实操

docker run -v 数据卷
#在容器内创建数据卷docker run -v 宿主机目录:数据卷
#将宿主机目录挂载到容器中#注意:宿主机本地目录的路径必须是使用绝对路径。如果路径不存在,Docker会自动创建相应的路径。
#挂载后的目录默认可读可写例:docker run -itd --name test1 -v /opt/test1:/opt/test1 centos:7 /bin/bash
#创建一个容器卷,和宿主机的的目录挂载,目录自带读写权限。

docker run -v 宿主机目录:数据卷:ro
#将宿主机目录挂载到容器中,只可读例:docker run -itd --name test2 -v /opt/test2:/opt/test2:ro centos:7 /bin/bash

数据卷容器

1.数据卷容器概述

数据卷容器:容器与容器之间数据共享

数据卷容器是一个普通的容器,专门提供数据卷给其他容器挂载使用

2.实操

docker run -itd --name test1 -v /opt/data1 -v /opt/data2 centos:7 /bin/bash
#创建数据卷容器test1,以及/opt/data1和/opt/data2两个数据卷docker run -itd --volumes-from test1 --name test2 centos:7 /bin/bash
#创建容器使用挂载卷

容器互联

1.容器互联概述

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

2.实操

//老版本
docker run -itd -P --name test1 centos:7 /bin/bash
#创建并运行源容器test1,-P:随机指定一个端口,和宿主机映射  docker run -itd -P --name test2 --link test1:test2 centos:7 /bin/bash
#创建并运行接收容器test2,--link和源容器test1实现容器互联docker exec -it test2 bash
ping test1docker exec -it test1 bash
yum install -y net-tools   #下载网络工具
ifconfig                   #查看IP和test2中显示的一致

//新版本
docker network create --subnet=172.18.0.0/16 --opt "com.docker.network.bridge.name"="docker1"  mynetwork
#创建一个网段docker run -itd -P --name test11 --network=mynetwork centos:7 /bin/bashdocker run -itd -P --name test12 --network=mynetwork centos:7 /bin/bash
#创建两个容器,指定网段#进入容器ping test11 test22

实验

部署一个MySQL镜像,创建一个MySQL容器,用navicat实现可以直接访问容器的MySQL。MySQL宿主机:33066
MySQL容器:3306

创建一个数据卷。在宿主机可以看到容器内MySQL的日志文件。

#获取镜像
docker pull mysql:5.7.20#创建并持续运行容器
docker run -itd -p 33066:3306 -v /opt/my_log:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7.20#进入容器
docker exec -it mysql bash#容器内进入数据库
mysql -uroot -p123456#本机mysql远程登陆测试
[root@pup1 ~]# mysql -u root -p -P 33066 -h 20.0.0.10

#在容器的数据库中查询

#开启日志
set global general_log=on;
show variables like "general_log%";

#容器中数据库新建库以测试日志同步情况
create database test2;
show databases;

#宿主机日志已同步

相关文章:

Docker的数据卷

数据卷 1.数据卷概述 数据卷:容器与宿主机之间数据共享。 数据卷是一个供容器使用的特殊目录,位于容器中。 可将宿主机的目录挂载到数据卷上,对数据卷的修改操作立刻可见,并且更新数据不会影响镜像,从而实现数据在宿…...

第二十一章总结博客

网络程序设计基础 局域网与互联网 为了实现两台计算机的通信,必须用一个网络线路连接两台计算机。如下图所示 网络协议 1.IP协议 IP是Internet Protocol的简称,是一种网络协议。Internet 网络采用的协议是TCP/IP协议,其全称是Transmission …...

学习php中使用composer下载安装firebase/php-jwt 以及调用方法

学习php中使用composer下载安装firebase/php-jwt 以及调用方法 1、安装firebase/php-jwt2、封装jwt类 1、安装firebase/php-jwt composer require firebase/php-jwt安装好以后出现以下文件: 2、封装jwt类 根据所使用的php框架&#xff0c;在指定目录创建 Token.php <?ph…...

『TypeScript』深入理解变量声明、函数定义、类与接口及泛型

&#x1f4e3;读完这篇文章里你能收获到 了解TypeScript变量声明与类型注解掌握TypeScript函数与方法的使用掌握TypeScript类与接口的使用掌握TypeScript泛型的应用 文章目录 一、变量声明与类型注解1. 变量声明2. 类型注解3. 类型推断 二、函数与方法定义1. 函数定义2. 方法定…...

如何优雅使用 vue-html2pdf 插件生成pdf报表

使用 vue-html2pdf 插件 业务背景&#xff0c;老板想要一份能征服客户的pdf报表&#xff0c;传统的pdf要手撕&#xff0c;企业中确实有点耗费时间&#xff0c;于是github上面看到开源的这个插件就…废话不多说&#xff0c;直接上教程 1.使用下面命令安装 vue-html2pdf npm i…...

C语言第十六集(前)

1.关于那个整形存储入char的 是先取好补码,再截断 例: 2.%u是以十进制的形式打印无符号整数 3.注意(背):存储的char类型变量的补码为10000000的直接解析为-128 4.signed char 类型的变量取值范围是-128~127 5.unsigned char 类型的变量取值范围是0~255 6.有符号类型的变量…...

Makefile语法

一、Makefile规则格式 Makefile 里面是由一系列的规则组成的&#xff0c;这些规则格式如下&#xff1a; 目标…... : 依赖文件集合…… 命令 1 命令 2 ……参考上一节gcc编译器与Makefile入门参考这条规则 1 main: main.o input.o calcu.o2 gcc -o main main.o input.o c…...

用户案例|Milvus 助力 Credal.AI 实现 GenAI 安全与可控

AIGC 时代&#xff0c;企业流程中是否整合人工智能&#xff08;AI&#xff09;对于的企业竞争力至关重要。然而&#xff0c;随着 AI 不断发展演进&#xff0c;企业也在此过程中面临数据安全管理、访问权限、数据隐私等方面的挑战。 为了更好地解决上述问题&#xff0c;Credal.A…...

MySQL三 | 多表查询

目录 多表查询 内连接 隐式内连接 显示内连接 外连接 左外连接 右外连接 自连接 子查询 多表查询 笛卡尔积:集合A和集合B的所有组合情况 A * B 在多表查询时应消除无效的笛卡尔积 内连接 查询的是两张表交集的地方 隐式内连接 SELECT 字段列表 FROM 表1&#xf…...

PostgreSQL 索引介绍和使用事项

索引内容 关键点 索引是一种数据结构&#xff0c;用于加快数据库查询的速度。它类似于书籍的目录&#xff0c;可以快速定位到特定的数据页。 PG数据库支持多种类型的索引&#xff0c;包括B树索引、哈希索引、GiST索引、SP-GiST索引和GIN索引等。 B树索引是PG数据库中最常用的…...

MySQL注入攻防详解:保障数据库安全的最佳实践

引言 MySQL作为广泛使用的关系型数据库&#xff0c;其安全性一直备受关注。然而&#xff0c;MySQL注入攻击是一种常见而危险的安全漏洞&#xff0c;攻击者通过巧妙构造的输入&#xff0c;可以绕过应用程序的验证&#xff0c;执行恶意的SQL语句&#xff0c;导致数据泄露、篡改或…...

ubuntu or MacOS 源码安装 fmt fmtlib

1&#xff0c;前情 提醒这个源代码需要从release中下载 打包好的&#xff0c;而直接用git clone下载不了&#xff0c;可能github上的这个git clone的链接仅仅是给fmt lib的开发者使用的吧&#xff1b; 下载fmtlib的release源代码u下载fmtlib的release源代码 2&#xff0c;解压编…...

vue watch

vue 使用watch监听props的一些小建议 当在watch里面给data赋值&#xff0c;请使用深拷贝。 <template><div class"container"><div class"left"><div class"button_group"><!-- <button click"rand…...

异常检测 | 基于孤立森林(Isolation Forest)的数据异常数据检测(结合t-SNE降维可视化)

异常检测 | MATLAB实现基于孤立森林的数据异常检测 目录 异常检测 | MATLAB实现基于孤立森林的数据异常检测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 Matlab实现基于孤立森林(Isolation Forest)的数据异常数据检测可视化&#xff08;完整源码和数据) 基于孤立森林(…...

【深度学习】一维数组的聚类

在学习聚类算法的过程中&#xff0c;学习到的聚类算法大部分都是针对n维的&#xff0c;针对一维数据的聚类方式较少&#xff0c;今天就来学习下如何给一维的数据进行聚类。 方案一&#xff1a;采用K-Means对一维数据聚类 Python代码如下&#xff1a; from sklearn.cluster im…...

100多种视频转场素材|专业胶片,抖动,光效电影转场特效PR效果预设

100多种 Premiere Pro 效果预设&#xff0c;包含&#xff1a;“胶片框架”、“胶片烧录”、“彩色LUT”、“相机抖动”、“电影Vignette”和“胶片颗粒”。非常适合制作复古风格的视频&#xff0c;添加独特的色彩。包括视频教程。 来自PR模板网&#xff1a;https://prmuban.com…...

http与apache

目录 1.http相关概念 2.http请求的完整过程 3.访问浏览器背后的原理过程 4.动态页面与静态页面区别 静态页面&#xff1a; 动态页面&#xff1a; 5.http协议版本 6.http请求方法 7.HTTP协议报文格式 8.http响应状态码 1xx&#xff1a;提示信息 2xx&#xff1a;成功…...

一、服务器准备

本案例使用VMware Workstation Pro虚拟机创建虚拟服务器来搭建Linux服务器集群&#xff0c;所用软件及版本如下&#xff1a; Centos7.7-64bit 1、三台虚拟机创建 第一种方式&#xff1a;通过iso镜像文件来进行安装(不推荐) 第二种方式&#xff1a;直接复制安装好的虚拟机文…...

区块链optimism主网节点搭建

文章目录 官方参考资料编译环境搭建编译Optimism Monorepo编译op-geth 执行下载数据快照生成op-geth和op-node通信密钥op-geth执行脚本 op-node执行脚本 启动日志op-gethop-node 本文是按照官方参考资料基于源码的方式成功搭建optimism主网节点。 官方参考资料 源码&#xff1…...

Bounding boxes augmentation for object detection

Different annotations formats Bounding boxes are rectangles that mark objects on an image. There are multiple formats of bounding boxes annotations. Each format uses its specific representation of bouning boxes coordinates 每种格式都使用其特定的边界框坐标…...

谷歌浏览器插件

项目中有时候会用到插件 sync-cookie-extension1.0.0&#xff1a;开发环境同步测试 cookie 至 localhost&#xff0c;便于本地请求服务携带 cookie 参考地址&#xff1a;https://juejin.cn/post/7139354571712757767 里面有源码下载下来&#xff0c;加在到扩展即可使用FeHelp…...

Java 语言特性(面试系列2)

一、SQL 基础 1. 复杂查询 &#xff08;1&#xff09;连接查询&#xff08;JOIN&#xff09; 内连接&#xff08;INNER JOIN&#xff09;&#xff1a;返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

FastAPI 教程:从入门到实践

FastAPI 是一个现代、快速&#xff08;高性能&#xff09;的 Web 框架&#xff0c;用于构建 API&#xff0c;支持 Python 3.6。它基于标准 Python 类型提示&#xff0c;易于学习且功能强大。以下是一个完整的 FastAPI 入门教程&#xff0c;涵盖从环境搭建到创建并运行一个简单的…...

将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?

Otsu 是一种自动阈值化方法&#xff0c;用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理&#xff0c;能够自动确定一个阈值&#xff0c;将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

使用LangGraph和LangSmith构建多智能体人工智能系统

现在&#xff0c;通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战&#xff0c;比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...

【JVM】Java虚拟机(二)——垃圾回收

目录 一、如何判断对象可以回收 &#xff08;一&#xff09;引用计数法 &#xff08;二&#xff09;可达性分析算法 二、垃圾回收算法 &#xff08;一&#xff09;标记清除 &#xff08;二&#xff09;标记整理 &#xff08;三&#xff09;复制 &#xff08;四&#xff…...

Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐&#xff1a;「storms…...

MySQL:分区的基本使用

目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区&#xff08;Partitioning&#xff09;是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分&#xff08;分区&#xff09;可以独立存储、管理和优化&#xff0c;…...

【Linux手册】探秘系统世界:从用户交互到硬件底层的全链路工作之旅

目录 前言 操作系统与驱动程序 是什么&#xff0c;为什么 怎么做 system call 用户操作接口 总结 前言 日常生活中&#xff0c;我们在使用电子设备时&#xff0c;我们所输入执行的每一条指令最终大多都会作用到硬件上&#xff0c;比如下载一款软件最终会下载到硬盘上&am…...

如何通过git命令查看项目连接的仓库地址?

要通过 Git 命令查看项目连接的仓库地址&#xff0c;您可以使用以下几种方法&#xff1a; 1. 查看所有远程仓库地址 使用 git remote -v 命令&#xff0c;它会显示项目中配置的所有远程仓库及其对应的 URL&#xff1a; git remote -v输出示例&#xff1a; origin https://…...