Docker的数据管理、端口映射和容器互联

news2024/11/27 5:26:40

目录

一、如何管理docker容器中的数据

1、数据卷

2、数据卷容器

二、端口映射

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

一、如何管理docker容器中的数据

管理 Docker 容器中数据主要有两种方式:数据卷(Data Volumes)和数据卷容器(DataVolumes Containers)。

1、数据卷

将容器内部的配置文件目录,挂载到宿主机指定目录下

  • 数据卷是一个供容器使用的特殊目录,位于容器中,可以将宿主机目录挂载到数据卷上,对数据卷的修改操作立刻可见,并且更新数据不会影响影响镜像,从而实现数据在宿主机与容器之间的迁移。
  • 数据卷的使用类似于linu下对目录进行mount操作。
  • 当容器里的文件频繁需要修改时,不需要登录进去,直接使用数据卷方式在宿主机指定的目录下进行修改即可,方便又安全。

实例操作:创建两个容器,挂载到宿主机的同一个目录

               【宿主机目录】:【容器目录】
docker run -itd -v /var/www:/data1 --name ydq1 centos:7 bash
docker run -itd -v /var/www:/data2 --name ydq2 centos:7 bash
#将宿主机的目录/vae/www目录分别挂载到容器 ydq1和ydq2的/data1 和/data2目录上
//指定目录即使没有,也会自动创建

echo "这都是些什么玩意,cao" > /var/www/ky20.txt

查看验证:

#登录容器
docker exec -it ydq1 bash

docker exec -it ydq2 bash

在ydq1容器的目录修改文件,然后去宿主机查看和ydq2容器查看

2、数据卷容器

两个容器实现数据共享

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

实例操作:

docker run -it --name test1 -v /data1 -v /data2 centos:7 bash
#创建容器并进入容器,并共享/data1 和/data2目录

echo "这是data1下面的文件" > /data1/test.txt
echo "这是data2下面的文件" > /data2/TEST.txt
#容器内创建两个测试文件

docker run -it --name test2 --volumes-from test1 centos:7 bash
#创建容器并进入,并且去读取test1容器共享的目录

cat /data1/test.txt
cat /data2/TEST.txt
#查看测试数据是否同步(可相互传输)

二、端口映射

在启动容器的时候,如果不指定对应的端口,在容器外是无法通过网络来访问容器内的服务。端口映射机制将容器内的服务提供给外部网络访问,实质上就是将宿主机的端口映射到容器中,使得外部网络访问宿主机的端口便可访问容器内的服务。

docker run -d --name test1 -P nginx					#随机映射端口(从32768开始)

docker run -d --name test2 -p 43000:80 nginx		#指定映射端口

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

  • 容器互联是通过容器的名称在容器间建立一条专门的网络通信隧道。
  • 简单点说,就是会在源容器和接收容器之间建立一条隧道,接收容器可以看到源容器指定的信息。
#创建并运行源容器取名web1
docker run -itd -P --name web1 centos:7 /bin/bash	
	
#创建并运行接收容器取名web2,使用--link选项指定连接容器以实现容器互联
docker run -itd -P --name web2 --link web1:web1 centos:7 /bin/bash			#--link 容器名:连接的别名

#进web2 容器, ping web1
docker exec -it web2 bash
ping web1

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

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

相关文章

phpstudy本地域名伪静态

环境:WNMP(Windows10 Nginx1.15.11 MySQL5.7.26 【PHP 7.4.3 (cli) (built: Feb 18 2020 17:29:57) ( NTS Visual C 2017 x64 ) 】) 使用PhpStudy配置本地域名后,设置伪静态,这样在Web端打开网站就不需要输入index.php了,很简单…

2023年【A特种设备相关管理(锅炉压力容器压力管道)】新版试题及A特种设备相关管理(锅炉压力容器压力管道)试题及解析

题库来源:安全生产模拟考试一点通公众号小程序 A特种设备相关管理(锅炉压力容器压力管道)新版试题是安全生产模拟考试一点通生成的,A特种设备相关管理(锅炉压力容器压力管道)证模拟考试题库是根据A特种设备…

基于SSM+Vue的学习交流论坛的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用Vue技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

Prometheus普罗米修斯

什么是Prometheus 官网:Overview | Prometheus 是一个开源的系统监控和警报工具,多数Prometheus组件是Go语言写的 为用户提供可视化仪表板、警报、告警等功能,以帮助用户快速定位和解决问题 现在已经成为一个独立于企业级的开源项目和一个…

【数据结构】树和二叉树概念及其结构

目录 一 树概念及结构 1 树的概念 2 树的相关概念 3 树的表示 二 二叉树概念及结构 1 概念 2 特殊二叉树 3 二叉树的性质 一 树概念及结构 1 树的概念 树是一种非线性的数据结构,它是由n(n>0)个有限结点组成一个具有层次关系的集…

Vue.js3学习篇--Vue组件的属性和方法

目录 一.属性和方法 1.属性基础 2.方法基础 二.计算属性和侦听器 1.计算属性 2.计算属性和函数的选择 3.计算属性的赋值 4.属性侦听 三.函数限流 四.表单数据的双向绑定 1.文本输入框 2.多行文本输入域 3.复选框和单选框 4.选择列表 5.两个常用修饰符 五.样式绑定…

【Verilog 教程】7.2 Verilog 文件操作

Verilog 提供了很多可以对文件进行操作的系统任务。经常使用的系统任务主要包括: 文件开、闭:$fopen, $fclose, f e r r o r 文件写入: ferror 文件写入: ferror文件写入:fdisplay, $fwrite, $fstrobe, f m o n i t…

无锡建筑模板厂家:选择适合无锡的建筑模板供应商

无锡作为江苏省的重要城市之一,建筑业发展迅猛,建筑模板作为建筑施工不可或缺的材料备受关注。在选择建筑模板时,考虑到无锡地区的经济状况、气候地形以及建筑风格等因素至关重要。除了常规的建筑模板材料,如建筑清水模板、建筑红…

【Redis】redis的特性和使用场景

Redis的特性 速度快基于键值对的数据结构服务器丰富的功能简单稳定客⼾端语⾔多持久化主从复制⾼可⽤(HighAvailability)和分布式(Distributed) 速度快 Redis 执⾏命令的速度⾮常快。 Redis 的所有数据都是存放在内存中的&…

Godot VisualStudio外部编辑器设置

文章目录 前言Godot visual studio 调试添加场景运行结果附加程序监听解决中文报错问题 Godot专栏地址 前言 Godot本质上只是一个游戏引擎,对C#只做了最小的适配,就是能打开,但是不能Debug。Godot支持许多外部编辑器,比如vs code…

MySql8.0 安装和启动

一、开发背景 需要存储数据,快速访问,这里选择 MySql,支持远程访问 二、开发环境 Window10 mysql-8.0.33-win64 三、实现步骤 1、下载压缩包 解压 网上找适合自己的版本,不建议使用32bit,MySql 对 32 bit 支持弱 参…

知识图谱系列3:读论文-《中国鸟类领域知识图谱构建与应用研究》-面向知识图谱的智能服务研究(需求、管理、查询、推理)

5.1鸟类领域知识服务需求研究 本部分根据不同人群,对其需求进行了研究。 并总结需求类型如下。 知识型服务需求指用户学习鸟类相关知识,包括知识内容、知识学习等。知识内容 需求为构建鸟类领域知识库作为知识的来源;知识学习需求为用户通过…

《游戏编程模式》学习笔记(十二)类型对象 Type Object

定义 定义类型对象类和有类型的对象类。每个类型对象实例代表一种不同的逻辑类型。 每种有类型的对象保存对描述它类型的类型对象的引用。 定义往往不是人能看懂的,我们需要例子才能够理解。 举例 假设你要为一款游戏制作一些怪物敌人。这些敌人有不同的血量及攻…

【juc】cyclicbarrier人数凑齐发车

目录 一、截图示例二、代码示例 一、截图示例 二、代码示例 package com.learning.cyclicbarrier;import lombok.extern.slf4j.Slf4j;import java.util.concurrent.CyclicBarrier; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors;/*** …

【代码随想录】LC 209. 长度最小的子数组

文章目录 前言一、题目1、原题链接2、题目描述 二、解题报告1、思路分析2、时间复杂度3、代码详解 三、知识风暴 前言 本专栏文章为《代码随想录》书籍的刷题题解以及读书笔记,如有侵权,立即删除。 一、题目 1、原题链接 209. 长度最小的子数组 2、题目…

数据库配置mysql5.7

1 创建数据库 """ 1.管理员连接数据库 mysql -uroot -proot2.创建数据库 create database hello default charsetutf8;3.查看用户 select user,host,password from mysql.user;# 5.7往后的版本 select user,host,authentication_string from mysql.user; "…

云原生开发:构建弹性应用的最新策略

文章目录 云原生开发概述策略一:容器化策略二:微服务架构策略三:自动化策略四:监控和日志记录总结 🎉欢迎来到云计算技术应用专栏~云原生开发:构建弹性应用的最新策略 ☆* o(≧▽≦)o *☆嗨~我是IT陈寒&…

初级软件测试工程师如何涨薪?

测试进阶方向 说到功能测试进阶方向,这是每个测试从业者都会经历的一个阶段。 个人把测试进阶分为两大类:业务测试 和 技术测试 业务测试: 顾名思义就是对当前从事的业务知识非常熟习,了解产品的显示、隐示需求,测…

Web1.0——Web2.0时代——Web3.0

Web1.0 Web1.0是互联网的早期阶段,也被称为个人电脑时代的互联网。在这个阶段,用户主要通过web浏览器从门户网站单向获取内容,进行浏览和搜索等操作。在这个时代,技术创新主导模式、基于点击流量的盈利共通点、门户合流、明晰的主…

基于springboot实现人职匹配推荐管理系统演示【项目源码+论文说明】分享

基于springboot实现人职匹配推荐管理系统演示 摘要 随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;对于人职匹配推荐系统当然也不能排除在外,随着网络技术的不断成熟,带动了…