Docker数据管理、网络通信和Dockerfile

news2025/4/9 7:14:41

一.数据管理

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

1.作用

(1)修改配置文件例如,nginx.conf /usr/local/nginx/conf/nginx.conf —>
/container_nginx/conf/nginx.conf
(2)容器内部产生的日志,如何收集将容器内部存方日志文件的目录挂载到宿主机指定目录下/container_nginx/log/access_log/access_log
(3)传入变量 挂载到宿主机 在宿主机上添加变量内容,将变量放入共享目录,在容器中/etc/profile 直接加载就可以export xxdir=/data/data1/xx.
 

2.应用场景

需求:宿主机目录/var/www挂载到容器中的/data1

#注意:宿主机本地目录的路径必须是使用绝对路径。如果路径不存在,Docker会自动创建相应的路径。
#-v选项可以在容器内创建数据卷,是volume的缩写
docker run -it --name test01 -v /var/www:/data1 centos:7 bash
##这句话是挂载的意思:-v:就是挂载的意思volume   bash是环境   centos:7是运行环境 :后面根版本号

ls

#返回宿主机进行查看
cd /var/www/
ls

#在容器中创建文件
echo "this is test01 file" > /data1/test.txt

#在宿主机查看是否有内容
cat /var/www/test.txt 

二.数据卷容器

1.容器之间相互挂载

#创建一个容器作为数据卷容器【挂载点来自于这个容器】
docker run -it --name test1 -v /data1 -v /data2 centos:7 /bin/bash	#创建并进入容器
-v:指定容器位置【容器内部的位置】,创建一个data1和data2目录并把它暴露出来给指定的网段去使用

echo "this is test02 file" > /data1/test.txt		  	#容器内创建测试文件1
echo "THIS IS TEST2 FILE" > /data2/TEST.txt					#容器内创建测试文件2

#使用--volumes-from来挂载test2容器中的数据卷到新的容器【新的容器是去使用的挂载点的】
docker run -it --name test2 --volumes-from test1 centos:7 /bin/bash	#创建并进入容器
cat data1/test.txt											#查看测试数据是否同步
cat data2/TEST.txt

2.端口映射

docker run -d -p 80:80 httpd    -d:提供守护进程【保护容器】  -p:自定义端口

docker ps -a

6d461287c25d        httpd:centos        "/run.sh"           7 seconds ago        Up 7 seconds        0.0.0.0:49280->80/tcp   zen_swanson

3.容器互联

docker run -itd -P --name w1 centos /bin/bash //创建并运行容器取名w1,端口号自动映射【-P:暴露一个随机端口】

docker run -itd -P --name w2 --link w1:w1 centos /bin/bash //创建并运行容器取名w2,链接到w1和其通信

进w2 容器  ping w1

哨兵 ——》监控 redis 
哨兵和redis包括哨兵和哨兵之间相互监控,会使用ping命令

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

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

相关文章

面试算法题精讲:最长回文子串

面试算法题精讲:最长回文子串 题目来源:5. 最长回文子串 题目描述: 给你一个字符串 s,找到 s 中最长的回文子串。 如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。 解法1:动态规划 对于…

ubuntu22.04安装TensorRT(过程记录)

重要说明:此贴经过多次修改。第一次安装的的为trt8.6.1版本。第二次安装的10.0.0.6版本。有些地方可能没改过来,比如链接向导,我懒得改了,但是流程是对的。 cuda和cudnn版本对应关系 tensorRT历史发行版本 CUDA历史发行版本 cudn…

【Godot4.2】有序和无序列表函数库 - myList

概述 在打印输出或其他地方可能需要构建有序或无序列表。本质就是构造和维护一个纯文本数组。并用格式化文本形式,输出带序号或前缀字符的多行文本。 为此我专门设计了一个类myList,来完成这项任务。 代码 以下是myList类的完整代码: # …

Android 设置头像 - 相册拍照

Android开发在个人信息管理中,如果设置头像,一般都提供了从相册选择和拍照两种方式。下午将针对设置用户头像相册和拍照两种方式的具体实现进行详细说明。 在实际实现过程中需要使用到权限管理,新版本的Android需要动态申请权限,权…

【JAVA】一文掌握Java并发编程

Java 开发中,并发编程属于相当重要的一个知识点,可以说,Java 的并发能力,是成就今日 Java 地位的因素之一。Java 的并发编程由浅入深实质上是包含 Java(API)层、JVM(虚拟机)层、内核…

Mac下使用homebrew管理多版本mysql同时启动

Mac下使用homebrew管理多版本mysql同时启动 思路 给每个版本分配不同的数据目录和配置文件即可 本文尝试了使用 brew 安装管理多个MySQL版本,同时运行、直接切换 安装 如果已有数据文件请自行备份以及使用 安装 mysql 5.7 brew install mysql5.7在 /opt/home…

运维笔记:基于阿里云跨地域服务器通信(上)

运维笔记 阿里云:跨地域服务器通信(上) - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite:http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this a…

C语言编译的优化等级应该选哪个?O0、O1、O2还是O3

在使用IDE开发STM32程序时,IDE一般都会提供优化等级设置的选项,例如下图中KEIL软件优化等级的设置。 从上图中也可以看出,设置不同的优化等级,实际上是修改了编译器的编译参数。这个编译器是由ARM公司提供的C/C编译器armclang或者…

opencv4.8 系列一环境搭搭建

open 运行环境&#xff1a; vs2017 下载地址&#xff1a;https://www.123pan.com/s/cVyRVv-ydPWh.html 一&#xff1a;新建项目 二&#xff1a;核心代码&#xff1a; 在这里插入代码片 #include<opencv2/opencv.hpp>int main(int argc,char** argv) {cv::Mat src cv…

【软考高项】二十六、范围管理基础内容

一、管理基础 产品范围和项目范围 产品范围强调结果&#xff0c;项目范围强调结果 管理的新实践 &#xff1a;需求一直是项目管理的关注重点&#xff0c;需求管理过程结束于需求关闭&#xff0c;即把产品、服务或成果移交给接收方&#xff0c;以便长期测量、监控、实现并维持收…

ptyhon画图显示中文

import matplotlib.pyplot as plt import matplotlib# 设置中文字体 matplotlib.rcParams[font.sans-serif] [SimHei] matplotlib.rcParams[font.family]sans-serifplt.plot([1, 2, 3, 4]) plt.xlabel(这是x轴) plt.ylabel(这是y轴) plt.title(这是标题) plt.show()用这个代码…

anaconda安装python 3.8环境

打开anaconda命令行窗口 在命令行窗口中&#xff0c;输入命令&#xff1a;conda create -n py38 python3.8 执行命令后&#xff0c;显示conda版本、安装路径和安装的包 然后提醒是否安装&#xff0c;输入y 等待安装完成。然后进入python3.8&#xff0c;执行命令&#xff1a;con…

收藏:什么是协程的通俗解析

不错的视频&#xff1a;到底该怎么理解协程&#xff1f;_哔哩哔哩_bilibili 重点的要点&#xff1a; 比如这个函数&#xff1a; python中&#xff0c;使用yield关键字来做协程&#xff0c;就是暂停可以去执行其他东西&#xff0c;然后其他东西执行完后&#xff0c;继续执行yiel…

抓包理解协议

用的Wireshark 抓包 1.抓包网卡选择 - WLAN 无线网卡&#xff0c;其他是本地虚拟机的网卡 这里分别是开始捕获、停止捕获、重新捕获、网卡选择&#xff0c;下面是可以过滤选择 过滤tcp包 3次握手&#xff1a; source是源地址&#xff0c; destination是目标地址&#xff0c;in…

Mysql用语句创建表/插入列【示例】

一、 创建表 COMMENT表示字段或列的注释 -- 新建student表 CREATE TABLE student (id BIGINT NOT NULL COMMENT 学生id, enroll_date DATE NOT NULL COMMENT 注册时间, NAME VARCHAR(18) DEFAULT NOT NULL COMMENT 学生姓名, deal_flag TINYINT(1) DEFAULT 0 NOT NULL COMM…

创新入门|从点击到转化:AI个性化登陆页助力潜在客户转化

在数字营销的竞争格局中&#xff0c;采用先进技术对于旨在区分自己并吸引受众的企业至关重要。人工智能 &#xff08;AI&#xff09; 成为一项关键技术&#xff0c;尤其是在制作个性化登录页面的艺术方面。这些页面不仅仅是品牌与其潜在客户之间的第一个接触点;它们是吸引兴趣、…

vue-admin-template项目实现中英文切换

实现效果&#xff1a; 1.安装 *注意版本号 npm install vue-i18n8.24.5 -S2.新建文件夹 在src目录下新建lang文件夹&#xff0c;里面有3个文件 // index.js import Vue from vue import VueI18n from vue-i18n import Cookies from js-cookie import elementEnLocale fr…

Redis 服务等过期策略和内存淘汰策略解析

redis服务是基于内存运行的&#xff0c;所以很多数据都存放在内存中&#xff0c;但是内存又不是无限的&#xff0c;所以redis就引出了key的过期和淘汰策略。 一、Redis的过期策略&#xff1a; 我们在set key的时候&#xff0c;可以给它设置一个过期时间&#xff0c;比如expire …

【UnityRPG游戏制作】RPG项目的背包系统商城系统和BOSS大界面

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;Uni…

【06】JAVASE-数组讲解【从零开始学JAVA】

Java零基础系列课程-JavaSE基础篇 Lecture&#xff1a;波哥 Java 是第一大编程语言和开发平台。它有助于企业降低成本、缩短开发周期、推动创新以及改善应用服务。如今全球有数百万开发人员运行着超过 51 亿个 Java 虚拟机&#xff0c;Java 仍是企业和开发人员的首选开发平台。…