云原生(四) | Docker 篇之网络和存储原理

【云原生】Docker 架构及工作原理 Docker 是一个开发、发布和运行应用程序的开放平台。Docker使您能够将应用程序与基础架构分离,以便快速交付软件。有了 Docker,你可以像管理应用程序一样管理你的基础设施。通过利用 Docker 快速发布、测试和部署代码的方法,您可以显著减少编写代码和在生产环境中运行它之间的延迟。Docker 在运行时分为 Docker 引擎(服务端守护进程) 和 客户端工具,我们日常使用各种 docker 命令,其实就是在使用 客户端工具 与 Docker 引擎 进行交互。 阅读详情

​网络和存储原理

前言

博主语录:一文精讲一个知识点,多了你记不住,一句废话都没有

经典语录:勇者愤怒,抽刃向更强者;怯者愤怒,却抽刃向更弱者 

一、Docker 存储

1、镜像如何存

1.0、自己探索

FROM busybox CMD ping baidu.com

复制代码

截取的 nginx 的分层

nginx 这个镜像怎么存的

使用:docker image inspect nginx

如图指示了镜像怎么存的

  • LowerDir :底层目录; diw (只是存储不同);包含小型 linux 和装好的软件

/var/lib/docker/overlay2/67b3802c6bdb5bcdbcccbbe7aed20faa7227d584ab37668a03ff6952e631f7f2/diff:用户文件;

/var/lib/docker/overlay2/f56920fac9c356227079df41c8f4b056118c210bf4c50bd9bb077bdb4c7524b4/diff: nginx 的启动命令放在这里

/var/lib/docker/overlay2/0e569a134838b8c2040339c4fdb1f3868a7118dd7f4907b40468f5fe60f055e5/diff: nginx 的配置文件在这里

/var/lib/docker/overlay2/2b51c82933078e19d78b74c248dec38164b90d80c1b42f0fdb1424953207166e/diff: 小 linux 系统

  • 倒着看

"LowerDir":

"/var/lib/docker/overlay2/41e4fa41a2ad1dca9616d4c8254a04c4d9d6a3d462c862f1e9a0562de2384dbc-

init/diff:/var/lib/docker/overlay2/e3b8bdbb0cfbe5450696c470994b3f99e8a7942078e2639a788027529c6278f7/diff:/var/lib/docker/overlay2/67b3802c6bdb5bcdbcccbbe7aed20faa7227d584ab37668a03ff6952e631f7f2/diff:/var/lib/docker/overlay2/f56920fac9c356227079df41c8f4b056118c210bf4c50bd

9bb077bdb4c7524b4/diff:/var/lib/docker/overlay2/0e569a134838b8c2040339c4fdb1f3868a7118dd7f4907b40468f5fe60f055e5/diff:/var/lib/docker/overlay2/2b51c82933078e19d78b74c248dec38164b90d80c1b42f0fdb142495320766e/diff",

"MergedDir":

"/var/lib/docker/overlay2/41e4fa41a2ad1dca9616d4c8254a04c4d9d6a3d462c862f1e9a0562de2384dbc/merged",

"UpperDir": (镜像的上层可以感知变化)"/var/lib/docker/overlay2/41e4fa41a2ad1dca9616d4c8254a04c4d9d6a3d462c862f1e9a0562de2384dbc/diff",【容器的修改后的文件,保存在宿主机哪里呀。容器删除后,那些容器目录还存在吗?一定不再】

"WorkDir":

"/var/lib/docker/overlay2/41e4fa41a2ad1dca9616d4c8254a04c4d9d6a3d462c862f1e9a0562de2384dbc/work"

  • MergedDir :合并目录;容器最终的完整工作目录全内容都在合并层;数据卷在容器层产生;所有的增删改都在容器层;

  • UpperDir :上层目录;

  • WorkDir :工作目录(临时层),PID;

LowerDir(底层)\UpperDir(上层)\MergedDir\WorkDir(临时东西)

docker 底层的 storage driver 完成了以上的目录组织结果;

1.1、Images and layers

Docker 映像由一系列层组成。 每层代表图像的 Dockerfile 中的一条指令。 除最后一层外的每一层都是只读的。 如以下 Dockerfile:

FROM ubuntu:15.04

COPY . /app

RUN make /app

CMD python /app/app.py

# 每一个指令都可能会引起镜像改变,这些改变类似 git 的方式逐层叠加。

  • 该 Dockerfile 包含四个命令,每个命令创建一个层。

  • FROM 语句从 ubuntu:15.04 映像创建一个图层开始。

  • COPY 命令从 Docker 客户端的当前目录添加一些文件。

  • RUN 命令使用 make 命令构建您的应用程序。

  • 最后,最后一层指定要在容器中运行的命令。

  • 每一层只是与上一层不同的一组。 这些层彼此堆叠。

  • 创建新容器时,可以在基础层之上添加一个新的可写层。 该层通常称为“容器层”。 对运行中的容器所做的所有更改(例如写入新文件,修改现有文件和删除文件)都将写入此薄可写容器层。

1.2、Container and layers

  • 容器和镜像之间的主要区别是可写顶层。

  • 在容器中添加新数据或修改现有数据的所有写操作都存储在此可写层中。

  • 删除容器后,可写层也会被删除。 基础图像保持不变。 因为每个容器都有其自己的可写容器层,并且所有更改都存储在该容器层中,所以多个容器可以共享对同一基础映像的访问,但具有自己的数据状态。

下图显示了共享同一 Ubuntu 15.04 映像的多个容器。

1.3、磁盘容量预估

docker ps -s

size:用于每个容器的可写层的数据量(在磁盘上)。

virtual size:容器使用的用于只读图像数据的数据量加上容器的可写图层大小。

多个容器可以共享部分或全部只读图像数据。

从同一图像开始的两个容器共享 100%的只读数据,而具有不同图像的两个容器(具有相同的层)共享这些公共层。 因此,不能只对虚拟大小进行总计。这高估了总磁盘使用量,可能是一笔不小的数目。

1.4、镜像如何挑选

Busybox:是一个集成了一百多个最常用 Linux 命令和工具的软件。Linux 工具里的瑞士军刀

Alpine:Alpine 操作系统是一个面向安全的轻型 Linux 发行版经典最小镜像,基于 busybox,功能比 Busybox 完善。

Slim:docker hub 中有些镜像有 slim 标识,都是瘦身了的镜像。也要优先选择

无论是制作镜像还是下载镜像,优先选择 Alpine 类型.

1.5、Copy On Write

  • 写时复制是一种共享和复制文件的策略,可最大程度地提高效率。

  • 如果文件或目录位于映像的较低层中,而另一层(包括可写层)需要对其进行读取访问,则它仅使用现有文件。

  • 另一层第一次需要修改文件时(在构建映像或运行容器时),将文件复制到该层并进行修改。 这样可以将 I / O 和每个后续层的大小最小化。

2、容器如何挂载

每一个容器里面的内容,支持三种挂载方式:

  1. docker 自动在外部创建文件夹自动挂载容器内部指定的文件夹内容【Dockerfile VOLUME 指令的作用】

  2. 自己在外部创建文件夹,手动挂载

  3. 可以把数据挂载到内存中

 --mount 挂载到 linux 宿主机,手动挂载(不用了)

-v 可以自动挂载,到 linux'主机或者 docker 自动管理的这一部分区域

  • Volumes(卷) :存储在主机文件系统的一部分中,该文件系统由 Docker 管理(在 Linux 上是“ / var / lib / docker / volumes /”)。 非 Docker 进程不应修改文件系统的这一部分。 卷是在 Docker 中持久存储数据的最佳方法。

  • Bind mounts(绑定挂载) :可以在任何地方 存储在主机系统上。 它们甚至可能是重要的系统文件或目录。 Docker 主机或 Docker 容器上的非 Docker 进程可以随时对其进行修改。

  • tmpfs mounts(临时挂载) :仅存储在主机系统的内存中,并且永远不会写入主机系统的文件系统

上面三种挂载方法可以参照官网 

2.1、volume(卷)  

  • 匿名卷使用

docker run -dP -v :/etc/nginx nginx

# docker 将创建出匿名卷,并保存容器/etc/nginx 下面的内容

# -v 宿主机:容器里的目录

  • 具名卷使用

docker run -dP -v nginx:/etc/nginx nginx

# docker 将创建出名为 nginx 的卷,并保存容器/etc/nginx 下面的内容

如果将空卷装入存在文件或目录的容器中的目录中,则容器中的内容(复制)到该卷中。

如果启动一个容器并指定一个尚不存在的卷,则会创建一个空卷。

-v 宿主机绝对路径:Docker 容器内部绝对路径:叫挂载;这个有空挂载问题

-v 不以/开头的路径:Docker 容器内部绝对路径:叫绑定(docker 会自动管理,docker 不会把他当前目录,而把它当前卷)

以上用哪个比较好?

  • 如果自己开发测试,用 -v 绝对路径的方式

  • 如果是生产环境建议用卷

  • 除非特殊 /bin/docker 需要挂载主机路径的则操作 绝对路径挂载

nginx 测试 html 挂载几种不同情况:

  • 不挂载 效果:访问默认欢迎页

  • -v /root/html:/usr/share/nginx/html 效果:访问 forbidden

  • -v html:/usr/share/nginx/html:ro 效果:访问默认欢迎页

  • -v /usr/share/nginx/html 效果:匿名卷 (什么都不写也不要加冒号,直接写容器内的目录)

原因:

方式一 :-v html:/usr/share/nginx/html; # 这种方式称为 docker 自动管理的方式

docker inspect 容器的时候

#  -v 不以绝对路径方式;

# 1、先在 docker 底层创建一个你指定名字的卷(具名卷) html

# 2、把这个卷和容器内部目录绑定

# 3、容器启动以后,目录里面的内容就在卷里面存着;

# -v nginxhtml:/usr/share/nginx/html 也可以以下操作

# 1、 docker create volume nginxhtml 如果给卷里面就行修改,容器内部的也就改了。

# 2、 docker volume inspect nginxhtml

#  3、docker run -d -P -v nginxhtml:/usr/share/nginx/html --name=nginx777 nginx

# 可以看到

"Mounts": [

        {

                "Type": "volume", //这是个卷

                "Name": "html", //名字是 html

                "Source": "/var/lib/docker/volumes/html/_data", //宿主机的目录。容器里面的哪两个文件都在

                "Destination": "/usr/share/nginx/html", //容器内部

                "Driver": "local",

                "Mode": "z",

                "RW": true, //读写模式

                "Propagation": ""

        }

]

# 卷:就是为了保存数据

docker volume # 可以对 docker 自己管理的卷目录进行操作; /var/lib/docker/volumes(卷的根目录)

# 一行命令启动 nginx,并且配置文件和 html 页面。需要知道卷的位置才能改

docker run -d -P -v nginxconf:/etc/nginx/ -v nginxpage:/usr/share/nginx/html nginx

# 想要实现 docker run -d -P -v /root/nginxconf:/etc/nginx/ -v /root/nginxhtml:/usr/share/nginx/html --name=nginx999 nginx

# 1、提前准备好东西 目录 nginxconf,目录里面的配置 we 年都放里面,,再调用命令

# 2、docker cp nginxdemo:/etc/nginx /root/nginxconf #注意/的使用

# 3、docker run -d -P -v /root/nginxconf:/etc/nginx/ -v  /root/nginxhtml:/usr/share/nginx/html --name=nginx999 nginx

2.2、bind mount 

如果将绑定安装或非空卷安装到存在某些文件或目录的容器中的目录中,则这些文件或目录会被安装遮盖,就像您将文件保存到 Linux 主机上的/ mnt 中一样,然后 将 USB 驱动器安装到/ mnt 中。在卸载 USB 驱动器之前,/ mnt 的内容将被 USB 驱动器的内容遮盖。 被遮盖的文件不会被删除或更改,但是在安装绑定安装或卷时将无法访问。

总结:外部目录覆盖内部容器目录内容,但不是修改。所以谨慎,外部空文件夹挂载方式也会导致容器内部是空文件夹

docker run -dP -v /my/nginx:/etc/nginx:ro nginx

# bind mount 和 volumes 的方式写法区别在于

# 所有以/开始的都认为是 bind mount ,不以/开始的都认为是 volumes.

警惕 bind mount 方式,文件挂载没有在外部准备好内容而导致的容器启动失败问题  

3、管理卷 

docker volume create xxx:创建卷名

docker volume inspect xxx:查询卷详情

docker volume ls: 列出所有卷

docker volume prune: 移除无用卷

4、docker cp

cp 的细节

docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|- :把容器里面的复制出来

docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH:把外部的复制进去

案例: 

docker cp index.html mynginx4:/usr/share/nginx/html docker cp mynginx4:/etc/nginx/nginx.conf nginx.conf

复制代码

二、Docker 网络

1、端口映射

docker create -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --name hello-mysql mysql:5.7

复制代码

2、容器互联

--link name:alias ,name 连接容器的名称,alias 连接的别名

场景:我们无需暴露 mysql 的情况下,让 web 应用使用 mysql;

docker run -d -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7 docker run -d --link mysql01:mysql --name tomcat tomcat:7 docker exec -it tomcat bash cat /etc/hosts ping mysql

3、自定义网络 

3.1、默认网络原理

Docker 使用 Linux 桥接,在宿主机虚拟一个 Docker 容器网桥(docker0),Docker 启动一个容器时会根据 Docker 网桥的网段分配给容器一个 IP 地址,称为 Container-IP,同时 Docker 网桥是每个容器的默认网关。因为在同一宿主机内的容器都接入同一个网桥,这样容器之间就能够通过容器的 Container-IP 直接通信。

Docker 容器网络就很好的利用了 Linux 虚拟网络技术,在本地主机和容器内分别创建一个虚拟接口,并让他们彼此联通(这样一对接口叫 veth pair);

Docker 中的网络接口默认都是虚拟的接口。虚拟接口的优势就是转发效率极高(因为 Linux 是在内核中进行数据的复制来实现虚拟接口之间的数据转发,无需通过外部的网络设备交换),对于本地系统和容器系统来说,虚拟接口跟一个正常的以太网卡相比并没有区别,只是他的速度快很多。

原理:

1、每一个安装了 Docker 的 linux 主机都有一个 docker0 的虚拟网卡。桥接网卡

2、每启动一个容器 linux 主机多了一个虚拟网卡。

3、docker run -d -P --name tomcat --net bridge tomcat:8

3.2、网络模式

3.3、自建网络测试 

#  1、docker0 网络的特点。,

默认、域名访问不通、--link 域名通了,但是删了又不行

#2、可以让容器创建的时候使用自定义网络

1、自定义创建的默认 default "bridge"

2、自定义创建一个网络网络

docker network create --driver bridge --subnet 192.168.0.0/16 --gateway

192.168.0.1 mynet

所有东西实时维护好,直接域名 ping 通

docker network connect [OPTIONS] NETWORK CONTAINER

# 3、跨网络连接别人就用。把 tomcat 加入到 mynet 网络

docker network connect mynet tomcat

效果:

1、自定义网络,默认都可以用主机名访问通

2、跨网络连接别人就用 docker network connect mynet tomcat

# 4、命令

1、容器启动,指定容器 ip。 docker run --ip 192.168.0.3 --net 自定义网络

2、创建子网。docker network create --subnet 指定子网范围 --driver bridge 所有东西实时维护好,直接域名 ping 同

3、docker compose 中的网络默认就是自定义网络方式。

云原生与容器化的未来:Kubernetes 和 Docker 深度解析与最佳实践 云原生是指通过使用云计算平台、容器、微服务、自动化和持续集成/持续交付(CI/CD)等技术来构建和运行应用。云原生架构注重开发和运维过程中的敏捷性、可扩展性、自动化和高可用性,能够帮助企业充分利用云平台的弹性和灵活性。微服务架构:应用被拆分为多个小型、自治的服务,每个服务具有独立的生命周期,易于扩展和独立部署。容器化:应用及其依赖项都打包在容器中,以保证在不同环境中的一致性和可移植性。自动化:借助自动化工具(如Kubernetes),实现容器的部署、管理和伸缩。可弹性伸缩。 阅读详情

相关推荐

云原生领域Docker编排工具大比拼

随着云原生技术的快速发展,容器编排工具已成为现代分布式系统不可或缺的基础设施。本文旨在为技术决策者、DevOps工程师和云原生开发者提供全面的Docker编排工具比较分析,帮助他们在众多选择中找到最适合自身业务需求的解决方案。本文将从基础概念入手,逐步深入分析各编排工具的核心架构和实现原理,通过实际案例演示工具使用,最后给出综合比较和选型建议。背景介绍:编排工具的基本概念和发展历程核心概念与联系:编排系统的通用架构和设计原则。

AI云原生与云计算技术学院 841

理解Docker(7):Docker 存储 - AUFS

(1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 (4)Docker 容器的隔离性 - 使用 cgroups 限制容器使用的资源 (5)Docker 网络 (6)若干企业生产环境中的容器网络方案 (7)Docker 存储 - AUFS     Docker 存储可以分为分层文...

weixin_33852020的博客 340

云原生领域 Docker 与 Service Mesh 的集成

随着云计算从基础设施即服务(IaaS)向平台即服务(PaaS)演进,云原生架构已成为企业数字化转型的核心技术体系。Docker 作为容器化技术的事实标准,解决了应用打包与环境一致性问题;而 Service Mesh 作为微服务治理的基础设施层,专注于服务间通信的标准化与智能化。本文旨在构建两者集成的技术全景图,涵盖架构设计、核心原理、实战部署及性能优化等维度,为技术团队提供可落地的实施路径。基础概念体系:建立 Docker 容器与 Service Mesh 的核心术语关联。

AI云原生与云计算技术学院 1235

Docker——存储驱动原理

Docker文件存储

weixin_50071922的博客 2034

云原生(四) | Docker篇之网络和存储原理

Docker的网络和存储原理,针对命令去深入讲解,让每个读者都能看懂,深知docker核心的存储原理

Lansonli(蓝深李)的博客 5837

云原生领域 Docker 存储卷的管理与使用

本文旨在全面解析Docker存储卷的管理与使用技术,帮助开发者和系统管理员理解容器数据持久化的核心机制。我们将覆盖从基础概念到高级应用的完整知识体系,包括但不限于:本文适合以下读者群体:文章采用渐进式结构,从基础概念到高级应用,最后探讨未来发展趋势:容器应用容器层存储卷Volume驱动本地存储网络存储云存储Bind Mount主机文件系统tmpfs内存 2.2 三种主要存储方式对比 特性 Docker Volume Bind Mount tmpfs mount 存储位置 Docker管理区域

AI云原生与云计算技术学院 905

Cai鸟学Docker之——存储原理(Overlay2)和网络原理(bridge)

一、 Docker存储原理 Dokcer为容器提供了两种存放数据的资源:storage driver(管理镜像层和容器层) 和 Data Volume。 1.1 storage driver 1. 前言 问题:假设一个宿主机里面同时启动了4个Nginx容器,一个nginx运行时完整环境有100MB,那么4个Nginx容器会占用多少的磁盘空间呢? 4*100?如果是这样计算的话,那就说明这个四个Nginx容器都占用了独立的空间,每启动了一个Nginx容器都会启用一个小型的Linux系统,这时如果同样的一个软

菜鸟琪 4090

云原生(二) | Docker篇之轻松学会原理|架构|安装|加速

目录 前言 一、Docker架构 二、Docker隔离原理 三、Docker安装 1、移除旧版本 2、设置docker yum源 3、安装最新docker engine 4、安装指定版本docker engine 1、在线安装 2、离线安装 5、启动服务 6、镜像加速 7、可视化界面-Portainer 1、什么是Portainer 2、安装 前言 一文精讲一个知识点,多了你记不住,一句废话都没有 经典语录:人情绪的尽头不是脏话不是发泄,人情绪的尽头是沉默 ..

Lansonli(蓝深李)的博客 2539

Docker:存储原理

讲解Docker的存储原理,包括联合文件系统,overlay,绑定挂载等技术

博客网站 https://async-area.com 1643

Docker的基本概念及其工作原理Kubernetes中实现自动扩缩容什么是云原生DevOps实践

分析:云原生:指专为云计算环境设计的应用架构和开发方法,强调自动化、弹性、微服务化、持续交付等特点。云原生应用通常运行在容器化平台上,并利用云服务提供的各项能力。区别部署方式:传统应用多采用虚拟机或物理服务器部署,而云原生应用则基于容器和服务网格。架构风格:传统应用往往是单体架构,难以快速迭代;云原生应用采用微服务架构,各服务独立开发、测试和部署。运维模式:传统应用依赖人工操作和脚本维护,云原生应用则借助CI/CD流水线、监控告警等工具实现自动化运维。资源利用。

王大师企业官方博客 2万+

轻松掌握云原生Docker:原理、架构、安装和加速

云原生技术在现代应用开发和部署中扮演着重要角色,而Docker作为其中最受欢迎的容器化平台,为开发人员提供了便捷的应用程序打包、分发和部署方式。本文将详细介绍云原生Docker的原理、架构、安装和加速方法,帮助读者快速上手。

CzbProlog的博客 106

【Docker】进阶之路:(十一)Docker存储

Docker为容器提供两种存放数据的资源,分别是由storage driver管理的容器层和镜像层、data volume存储卷。也就是说,容器的存储可以分为两大类:一种是与镜像相关的,在容器内创建的所有文件都存储在可写容器层上,这种直接将文件存储在容器层的方式,数据难以持久化和共享。由于依赖存储驱动与使用直接写入主机文件系统的数据卷相比,这种额外的抽象会降低性能;另一种是宿主机存储,即通过将宿主机目录绑定或挂载到容器中使用,容器停止后数据也能持久化。

圈小圈DBA的博客 1517

FPGA实战:用DDR3和乒乓操作解决视频帧撕裂问题(附Verilog代码)

本文详细介绍了如何利用DDR3内存和乒乓操作架构解决FPGA视频处理中的帧撕裂问题。通过多帧缓存原理、AXI接口配置和自适应乒乓操作设计,有效隔离读写操作,确保视频流稳定传输。文章包含Verilog代码实现和性能优化技巧,适用于工业相机、医疗影像等高速视频处理场景。

m2n3b4v5c6的博客 289

三、网络和存储原理

云原生 - 目录 第二部分:Docker 实战 三、网络和存储原理1、Docker存储1.1、镜像如何存储1.1.1、Images and layers1.1.2、Container and layers1.1.3、磁盘容量预估 1、Docker存储 1.1、镜像如何存储 1.1.1、Images and layers Docker 映像由一系列层组成。 每层代表图像的 Dockerfile 中的一条指令。 除最后一层外的每一层都是只读的。 如以下Dockerfile: FROM ubuntu:15.

个人纪录、总结! 2704

OpenCV视频防抖算法实现与优化指南

本文详细解析了如何使用OpenCV实现视频防抖算法。通过特征点检测与光流跟踪估算帧间运动,利用滑动平均平滑运动轨迹,并应用仿射变换重塑视频帧。文章提供了完整的代码实现、参数调优指南及黑边处理等优化技巧,帮助开发者高效处理手持拍摄等场景下的视频抖动问题。

weixin_29062823的博客 339

Altium Designer应用技巧1: 功能模块的复用方法

Altium Designer应用技巧1: 功能模块的复用方法      我们在使用Altium Designer进行电路图设计时,常会遇到功能模块的复用问题,例如我们经常需要将12V以DC-DC的方式转换成5V,这在很多线路板上都会应用到。现在我们普通的做法是,每个板子都重新绘制一遍,像这样DC-DC的电路,很浪费时间。那么如何采用提高工作效率呢?我们可以采取Altium Desi

snmplink的博客 1万+

Docker在云原生环境中的应用

1.背景介绍 1. 背景介绍 云原生(Cloud Native)是一种基于云计算的软件开发和部署方法,旨在构建可扩展、可靠、高性能的软件系统。Docker是一种开源的应用容器引擎,它使得开发人员可以将应用程序和其所需的依赖项打包成一个可移植的容器,然后在任何支持Docker的环境中运行。 在云原生环境中,Docker具有以下优势: 可移植性:Docker容器可以在任何支持Docker的平...

AI天才研究院 1178

会员管理小程序实战开发04-用户登录及注册

上一节我们介绍了用户信息数据源的创建及网格布局的使用,本节的话我们讲解用户的登录及注册功能任何开发。 在我们前述章节里介绍的,不论是管理员表还是用户表,都涉及到一个问题就是openid,那这个openid如何获取呢?如果我直接把代码贴给你,就缺失了一个思考的过程。既然这个是微信提出的概念,那么必然就会有官方文档作为对应。程序开发的基本功就是要会看官方文档,很多初学的开发同学可能会对官方文档颇有诟病,觉得不够基础。怎么说呢,当你进入到开发岗之后,自学能力是必要的,还是要试着可以看懂官方文档才好。 登录接口解读

低代码布道师的博客 1566

【云原生 | Docker 高级篇】06、Docker 网络模式详解

Docker 网络模式详解!!!

GG Bond 的博客 806

VN5620以太网测试——环境搭建篇

CANoe(CAN open environment)VN5620 :是一个紧凑而强大的接口,用于以太网网络的分析、仿真、测试和验证。VN5620 接口支持各种可能的应用。它适用于与其他总线系统、网络参与(例如在模拟和生成帧、测试中的负载和错误)的同步以太网监控。在2021年Vector公司的以太网接口卡VN5610和VN5640设备已经陆续停产,相应被VN5620和VN5650代替。

诊断协议那些事儿's blog 8928

Python爬虫实战:模拟登录B站 – 处理Cookie和加密参数

由于B站在登录过程中采用了多种安全措施,包括加密的请求参数和cookie验证,模拟登录成为一项具有挑战性的任务。首先,我们需要获取B站的登录页面,并解析出其中的CSRF令牌和其他隐藏的字段。B站的登录接口通常会包含一些动态的加密参数,我们需要在登录前通过GET请求获取这些信息。本文详细介绍了如何使用Python模拟登录B站,解决加密参数的处理、图形验证码的识别以及登录后的数据抓取。库中的加密方法加密登录请求中的密码。一旦登录成功,我们可以通过维护会话状态,抓取登录后的数据,如个人主页、评论、观看记录等。

2201_76125261的博客 1309

【云原生 | 19】Docker数据存储详解

Docker启动时会在主机上自动创建一个docker0虚拟网桥,实际上是一个Linux网桥,可以理解为一个软件交换机,它会在挂载其上的接口之间进行转发

小鹏linux的博客 1549

6、 实时家禽健康识别与疾病检测系统的深入解析

本文深入解析了一种基于物联网的实时家禽健康识别与疾病检测系统,结合图像分析和音频分析技术,能够有效识别病鸡并防止疾病传播。文章详细介绍了系统的测试环境、数据采集与预处理方法、图像与音频分析流程,并对系统性能进行了全面评估。最后提出了未来改进方向,包括多模态融合、深度学习应用及实时性优化等。

weixin_28840811的博客 185

【专家亲授】云原生环境下Agent网络优化:Docker网络模式深度解析

掌握云原生 Agent 的 Docker 网络配置难题,本文深入解析桥接、主机与覆盖网络模式适用场景及优化策略,提升服务发现与通信效率。涵盖多容器协同、低延迟交互等实战方案,助力系统稳定高效运行,值得收藏。

StepNexus的博客 716

PyCharm 接入 OpenAI Codex CLI 的 4 步配置与调试实录

揭示 Codex CLI 在 PyCharm 中上下文失稳的四大根源:CLI 启动模式与 IDE 进程模型冲突、stdin/stdout 流式处理不兼容、环境变量污染、AST 注释缺失,并给出基于 Shell 脚本桥接与结构化上下文注入的稳定接入方案。

weixin_42627902的博客 372

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

docker: Docker核心原理与实践:从基础到云原生落地

Docker作为云原生的基石,其价值不仅在于容器化技术本身,更在于构建了一套标准化的软件交付流程。对于资深Java工程师,深入理解Docker的底层原理(Namespace/Cgroups)、镜像优化策略及数据持久化方案,是应对大厂面试的核心竞争力,也是从"应用开发"迈向"云原生架构"的关键一步。在实际工作中,需结合业务场景合理使用容器技术,平衡开发效率、资源利用率与系统可靠性。

weixin_43290370的博客 1315

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

上一篇: 云原生(三) | Docker 篇之轻松学会 Docker 命令
下一篇: 数据中台建设(三):数据中台架构介绍
wrr-cat
博客等级 码龄9年 128粉丝 302原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值