做网站的价格/百度入口提交
文章目录
- Docker 网络基础
- Docker网络管理
- Docker网络架构
- CNM
- Libnetwork
- 驱动
- 常见的网络类型
- Docker 网络管理命令
- docker network create
- docker network inspect
- docker network connect
- docker network disconnect
- docker network prune
- docker network rm
- docker network ls
- docker Bridge 网络
- 网络介绍
- 操作案例
- 自定义创建bridge
- DNS解析
- 端口暴露和转发
- docker Host 网络
- 网络介绍
- 操作案例
- docker Container 网络
- 网络介绍
- 操作案例
- docker none 网络
- 网络介绍
- 操作案例
Docker 网络基础
Docker网络管理
容器的网络默认与宿主机及其他容器都是相互隔离, 但同时我们也要考虑下面的一些问题, 比如:
- 多个容器之间是如何通信的
- 容器和宿主机是如何通信的
- 容器和外界主机是如何通信的
- 容器中要运行一些网络应用(如 nginx、 web 应用、数据库等),如果要让外部也可以访问这些容器内运行的网络应用应该如何实现
- 容器不想让它的网络与宿主机、与其他容器隔离应该如何实现
- 容器根本不需要网络的时候应该如何实现
- 容器需要更高的定制化网络(如定制特殊的集群网络、定制容器间的局域网)应该如何实现
Docker网络架构
Docker 容器网络是为应用程序所创造的虚拟环境的一部分,它能让应用从宿主机操作系统的网络环境中独立出来,形成容器自有的网络设备、 IP 协议栈、端口套接字、 IP路由表、防火墙等等与网络相关的模块。
Docker 为实现容器网络,主要采用的架构由三部分组成: CNM、 Libnetwork 和驱动。
CNM
Docker 网络架构采用的设计规范是 CNM(Container Network Model)。 CNM 中规定了 Docker 网络的基础组成要素: Sandbox、 Endpoint、 Network。
- Sandbox:提供了容器的虚拟网络栈,也即端口、套接字、 IP 路由表、防火墙、DNS 配置等内容。主要用于隔离容器网络与宿主机网络,形成了完全独立的容器网络环境
- Network: Docker 内部的虚拟子网,使得网络内的参与者能够进行通讯。
- Endpoint:就是虚拟网络的接口,就像普通网络接口一样, Endpoint 的主要职责是负责创建连接。 **Endpoint 类似于常见的网络适配器,那也就意味着一个 Endpoint 只能接入某一个网络, 当容器需要接入到多个网络,就需要多个 Endpoint。 **
Libnetwork
Libnetwork 是 CNM 的一个标准实现。 Libnetwork 是开源库,采用 Go 语言编写(跨平台的),也是 Docker 所使用的库, Docker 网络架构的核心代码都在这个库中。Libnetwork 实现了 CNM 中定义的全部三个组件,此外它还实现了本地服务发现、基于 Ingress 的容器负载均衡,以及网络控制层和管理层等功能。
驱动
驱动主要负责实现数据层相关内容,例如网络的连通性和隔离性是由驱动来处理的。驱动通过实现特定网络类型的方式扩展了 Docker 网络栈,例如桥接网络和覆盖网络。
Docker 内置了若干驱动,通常被称作原生驱动或者本地驱动。例如 Bridge Driver、Host Driver、 Overlay Driver、 MacVLan Driver、 IPVLan Driver、 None Driver 等等。每个驱动负责创建其上所有网络资源的创建和管理。
常见的网络类型
bridge网络
bridge 驱动会在 Docker 管理的主机上创建一个 Linux 网桥。默认情况下,网桥上的容器可以相互通信。也可以通过 bridge 驱动程序配置,实现对外部容器的访问。Docker 容器的默认网络驱动.当我们需要多个容器在同一个 Docker 主机上通信时,桥接网络是最佳选择。
host 网络
对于独立容器,移除容器和 Docker 主机之间的网络隔离,并直接使用主机的网络。当网络堆栈不应该与 Docker 主机隔离,但是希望容器的其他资源被隔离时,主机网络是最佳选择。
container 网络
这个模式指定新创建的容器和引进存在的一个容器共享一个网络 ,而不是和宿主机共享。新创建的容器不会创建自己的网卡,配置自己的 ip,而是和一个指定的容器共享 ip,端口等,两个容器除了网络方面,其他的如文件系统、进程列表等还是隔离的。两个容器的进程可以通过 lo 网卡设备通信
none 网络
Docker 容器拥有自己的 Network Namespace,但是,并不为 Docker 容器进行任何网络配置。也就是说,这个 Docker 容器没有网卡、 IP、路由等信息。容器完全网络隔离。
overlay 网络
借助 Docker 集群模块 Docker Swarm 搭建的跨 Docker Daemon 网络。将多个Docker 守护进程连接在一起,使集群服务能够相互通信。当我们需要运行在不同Docker 主机上的容器进行通信时,或者当多个应用程序使用集群服务协同工作时,覆盖网络是最佳选择
另外,在 Docker 安装时,会自动安装一块 Docker 网卡称为 docker0,它是一个网桥设备,主要用于 Docker 各容器及宿主机的网络通信。
Docker 网络管理命令
命令 | 别名 | 功能 | 备注 |
---|---|---|---|
docker network create | 创建网络 | ||
docker network connect | 连接网络 | ||
docker network disconnect | 断开网络 | ||
docker network ls | docker network list | 列出网络 | |
docker network prune | 删除不使用的网络 | ||
docker network inspect | 查看网络详情 | ||
docker network rm | docker network remove | 删除 1 个或者多个网 |
docker network create
功能:创建自定义网络
语法:
docker network create [OPTIONS] NETWORK
关键参数:
- -d, --driver: 网络驱动
- –gateway: 网关地址
- –subnet: 表示网段的 CIDR 格式的子网
- –ipv6: 启用 ipv6
样例
docker network create --driver=bridge --subnet=192.168.0.0/16 br0
docker network inspect
功能:查看网络详情
语法:
docker network inspect [OPTIONS] NETWORK [NETWORK...]
关键参数:
- -f,–format:指定格式
样例
docker network inspect mynetwork
docker network connect
功能:将容器连接到网络。可以按名称或 ID 连接容器。 一旦连接,容器可以与同一网络中的其他容器通信。
语法:
docker network connect [OPTIONS] NETWORK CONTAINER
关键参数:
- –ip: 指定 IP 地址
- –ip6: 指定 IPv6 地址
样例1:
将正在运行的容器连接到网络
$ docker network connect multi-host-network my_container1启动时将容器连接到网络还可以使用 docker run --network=<network-name>选项启动容器并立即将其连接到网络。
$ docker run -itd --network=multi-host-network busybox-container指定容器的 IP 地址可以指定要分配给容器网络接口的 IP 地址。
$ docker network connect --ip 10.10.36.122 multi-host-network container2
样例2:
docker network create mynetwork1 --subnet=10.2.0.0/16
docke network ls
docker images busybox# 运行一个容器
docker run -dit --name busybox1 busybox
docker exec -it busybox1 sh# 查看配置信息
ifconfig
可以看到默认容器的ip地址为:172.17开头,这是由docker0的bridge给的。
接下来连接上docker network,查看配置信息:
docker network connect mynetwork1 busybox1docker exec -it busybox1 sh# 查看配置信息
两种方式连接network的区别
- 方式一:docker run -itd --network=mynetwork1 busybox1
- 方式二:docker network connect mynetwork1 busybox1
方式二相对于方式一,方式二会在创建容器时先加入bridge:172.17.0.1网络(也就是docker0网桥),然后再加入到mynetwork1网络中。
docker network disconnect
功能:断开网络
语法:
docker network disconnect [OPTIONS] NETWORK CONTAINER
关键参数:
- -f:强制退出
docker network prune
功能:删除不使用的网络
语法:
docker network prune [OPTIONS]
关键参数:
- -f,–force:不提示
docker network rm
功能:删除1个或者多个网络
语法:
docker network rm NETWORK [NETWORK...]
关键参数:
- -f:强制退出
docker network ls
功能:列出网络
语法:
docker network ls [OPTIONS]别名
docker network list
关键参数:
- -f, --filter:指定过滤条件
- –format:指定格式
- –no-trunc:不截断
- -q, --quiet :仅仅显示 id
docker Bridge 网络
网络介绍
Docker Bridge 网络采用内置的 bridge 驱动, bridge 驱动底层采用的是 Linux 内核中Linux bridge 技术。
就网络而言, bridge 网络是在网络段之间转发流量的链路层设备,而网桥可以是在主机内核中运行的硬件设备或软件设备;
就 Docker 而言,桥接网络使用软件网桥 docker0,它允许连接到同一网桥网络的容器进行通信,同时提供与未连接到该网桥网络容器的隔离。
docker container的bridge桥接模式结构图:
默认情况下,创建的容器在没有使用–network 参数指定要加入的 docker 网络时,默认都是加入 Docker 默认的单机桥接网络,即下面的 name 为 bridge 的网络。
默认的 bridge 网络会被映射到内核中为 docker0 的网桥上。
Docker 默认的 bridge 网络和 Linux 内核中的 docker0 网桥是一一对应的关系。bridge 是 Docker 对网络的命名,而 docker0 是内核中网桥的名字。
操作案例
多台主机是如何通过网络中进行通信的?
如果是两台主机可以直接通过连接网线的两端进行通信。那多台主机通信怎么处理呢?这就需要新增路由器/交换机,把多台主机连接到路由器/交换机上, 通过路由器/交换机来达到交换数据, 即通信的目的。
其实容器之间的通信也和上面主机通信的方式如出一辙, 在安装 Docker的时候会默认 docker0 这个网桥软件设备, 这个 docker0 设备可以类比成上图的交换机/路由器设备,当我们创建好容器之后, 如果不手动指定网络模式,默认会使用bridge 网络, 容器会自动连接到 do88cker0 这个网桥设备, 然后通过这个网桥来进行容器间的通信。
busybox介绍
BusyBox 是一个集成了一百多个最常用 Linux 命令和工具(如 cat、 echo、grep、 mount、 telnet 等)的精简工具箱,它只需要几 MB 的大小,很方便进行各种快速验证,被誉为“Linux 系统的瑞士军刀”。
BusyBox 可运行于多款 POSIX 环境的操作系统中,如 Linux(包括Android)、 Hurd、 FreeBSD 等 。
操作案例
使用 busybox 镜像创建两个容器, 并且保持在后台运行 。
docker run -itd --name c1 busybox
docker run -itd --name c2 busybox
docker ls
分别查看两个容器的ip信息:
docker container exec -it c1 ip a
docker container exec -it c2 ip a
查看bridge网络信息
docker network inspect bridge
可以看到容器c1和c2连接在bridge网络中。
下面尝试用c1是否能够ping通c2,结果是能够ping通
docker container exec -it c1 sh
ping 172.17.0.4(c2的ip)
下面我们关闭容器c2,再尝试用c1是否能够ping通c2
docker container stop c2
docker network inspect bridge
在bridge中已经不存在容器c2。接下来尝试ping一下c2
docker container exec -it c1 sh
ping 172.17.0.4
结果是无法ping通,丢包率100%。
自定义创建bridge
在默认情况下, 我们创建的容器都会连接在 docker0 这个 bridge 上。也可以创建一些自定义的 bridge,让运行的容器通过自定义 bridge 进行通信。
docker network create -d bridge mybridge
docker network inspect mybridge
- -d,–driver 选项指定网络驱动程序
如何连接到指定的bridge?
可以通过–network 选项指定要连接的网络, 如果不指定, 默认是连接的 bridge。
docker container run -itd --name c3 --network mybridge busybox
C3成功连接到自定义的bridge中。
DNS解析
Docker 自定义桥接网络是支持通过 Docker DNS 服务进行域名解析的, 也就是说我们可以直接使用容器名进行通信,因为 DNS 服务可以解析容器名到 IP 地址的映射, 但是默认的 bridge 网络是不支持 DNS 的。
目前有四个容器:c1和c2在默认的bridge下,c3和c4在自定义的桥接网络mybridge
在默认的bridge下,用容器c2分别ping容器c1的IP和名字,结果IP能够ping通,而容器名不能。
docker exec -it c2 sh
ping c1
ping 172.17.0.4(c1的ip)
在自定义的mybridge下,用容器c4分别ping容器c3的IP和名字,结果IP和容器名都能够ping通。
docker exec -it c4 sh
ping c3
ping 172.18.0.2(容器c3的ip)
端口暴露和转发
端口暴露方式
端口暴露有 2 种方式,在启动容器的时候添加端口参数,一种-P 暴露所有端口,一种是-p,暴露指定端口
-p:
将指定的容器端口映射至主机所有地址的一个动态端口, ·“动态端口”指随机端口,具体的映射结果可使用 docker port 命令查看
-p :将容器端口映射至指定的主机端口
端口转发
连接 bridge 网络的容器只能与连接在当前网络中的容器进行通信。如果一个容器想要对外提供一些网络服务的话,需要进行端口转发才可以实现。
端口转发将 Docker 容器的端口映射到宿主机的端口上,那么任何发送到宿主机该端口的流量,都会被转发到容器的端口中。如下图所示,两个容器内部均开放 80 端口,它们分别映射到宿主机的 8088 和 8089 端口, 即表示任何发送到 8088 端口的流量都会 转发到 Container 1 容器的 80 端口, 发送到 8089 端口的流程都会转发到Container 2 容器的 80 端口。
案例:
我们启动一个容器,配置 80 端口的转发:
docker run -dit --name mynginx -p 8088:80 nginx
当我们通过浏览器访问8088端口,就会得到nginx主页
docker Host 网络
网络介绍
Docker 容器运行默认都会分配独立的 Network Namespace 隔离子系统, 但是**如果基于 host 网络模式,容器将不会获得一个独立的 Network Namespace,而是和宿主机共用同一个 Network Namespace,容器将不会虚拟出自己的网卡, IP 等,而是直接使用宿主机的 IP 和端口。 **
连接到 host 网络的容器共享宿主机的网络栈,容器的网络配置与宿主机完全一样。我们可以通过 --network=host 指定使用 host 网络。
操作案例
启动一个容器c5,使用host网络模式,并查看配置信息
docker container -itd --name c5 --network=host busybox
docker container exec c5 ip a
有docker0网桥,说明使用的是宿主机的网络配置。
host网络模式的使用场景
- bridge 网络在通信的时候需要进行端口转发以及 NAT 地址转换,这势必会消耗掉一些资源以及性能。
- 直接使用 host 网络最大的好处就是性能好,如果容器对网络传输效率有较高的要求,建议选择 host 网络。当然也会牺牲一些东西,比如要考虑端口冲突问题,其他服务已经被占用的端口就不能再使用了。
docker Container 网络
网络介绍
Docker Container 的 other container 网络模式是 Docker 中一种较为特别的网络的模式。
这个模式下的 Docker Container,会使用其他容器的网络环境。 之所以称为“特别”,是因为这个模式下容器的网络隔离性会处于 bridge 桥接模式与 host 模式之间。 Docker Container 共享其他容器的网络环境,则至少这两个容器之间不存在网络隔离,而这两个容器又与宿主机以及除此之外其他的容器存在网络隔离。
Docker Container 的 other container 网络模式实现逻辑如下:
- 查找 other container(即需要被共享网络环境的容器)的网络 namespace;
- 将新创建的 Docker Container(也是需要共享其他网络的容器)的 namespace,使用 other container 的 namespace。
操作案例
创建一个容器netcontainer1,使用 netcontainer1 的网络创建另外一个容器netcontainer2。
docker run -itd --name netcontainer1 busybox
docker run -itd --name netcontainer2 --network container:netcontainer1 busybox
查看俩个容器的ip配置信息,发现两个容器的ip和mac地址完全一样:
docker exec -it netcontainer1 sh
ifconfigdocker exec -it netcontainer2 sh
ifconfig
退出,关闭容器netcontainer2,再查看netcontainer1的ip信息:
docker container stop netcontainer2
docker exec -it netcontainer1 sh
ifconfig
可以看到,容器netcontainer1依然保存有两张网卡。
退出,关闭容器netcontainer1,再查看netcontainer2的ip信息:
docker container stop netcontainer1
docker exec -it netcontainer2 sh
ifconfig
可以看到,容器netcontainer2只保存有一张网卡,容器netcontainer1那张网卡被关闭掉。
使用场景
在这种模式下的 Docker Container 可以通过 localhost 来访问 namespace 下的其他容器,传输效率较高。但是两个容器之间存在依赖,如果依赖容器重启了,会导致另外一个服务的网络不可用
docker none 网络
网络介绍
none 网络就是指没有网络。挂在这个网络下的容器除了 lo(本地回环),没有其他任何网卡。
操作案例
在运行容器的时候,可以通过–network=none 参数来指定容器使用 none 网络。
docker run -itd --name netcontainer3 --network=none busybox
容器netcontainer3只有本地回环。
使用场景
- 针对一些对安全性要求比较高并且不需要联网的应用, 可以使用 none 网络, 比如生成随机密码, 避免生成密码被第三方获取。
- 一些第三方的应用可能需要 docker 帮忙创建一个没有网络的容器, 网络由第三方自己来配置。
相关文章:

【Docker】网络
文章目录 Docker 网络基础Docker网络管理Docker网络架构CNMLibnetwork驱动 常见的网络类型 Docker 网络管理命令docker network createdocker network inspectdocker network connectdocker network disconnectdocker network prunedocker network rmdocker network ls docker …...

Linux :realpath 命令
以后可以直接用于查找相关文件 例: 输入:realpath .repo/manifests/rv1126_rv1109_linux_release.xml 输出:/home/sdk/work/rk/rv1126_rv1109/.repo/manifests/rv1126_rv1109_linux/rv1126_rv1109_linux_v3.0.2_20230406.xml根据输入的文件找到对应复制过来的型号,这个命令不…...

react17:生命周期函数
挂载时更新时 setState触发更新、父组件重新渲染时触发更新forceUpdate触发更新卸载时 react(v17.0.2)的生命周期图谱如下。 相较于16版本,17版本生命周期函数有如下变化: componentWillMount() componentWillUpdate() compone…...

腾讯内部单边拥塞算法BBR-TCPA一键脚本安装
TCPA简介 腾讯内部使用的TCPA,由腾讯TEG操作系统组研发,基于RHEL7.4源码,定制化的TCPA。团队介绍:腾讯TEG操作系统组, 2010年成立,专业的内核团队,维护研发腾讯内部linux操作系统tlinux, 保证百万级server高效稳定运行…...

【LLM】chatglm-6B模型训练和推理
本篇文章记录下 chatglm-6B 训练和推理过程 环境:Ubuntu 20.04 1.13.0cu116 chatglm-6B 源代码仓库:链接 chatglm-6B 模型权重:链接 源代码及模型 clone 到本地 这里使用的是 THUDM 在 hugging face 开源的模型。 因为模型比较大ÿ…...

性能可靠it监控系统,性能监控软件的获得来源有哪些
性能可靠的IT监控系统是企业IT运维的重要保障之一。以下是一个性能可靠的IT监控系统应该具备的特点: 高可用性 高可用性是IT监控系统的一个重要特点,它可以保证系统在24小时不间断监控的同时,保证系统服务的可用性和稳定性。为了实现高可用性…...

TCP/IP网络编程(一) 理解网络编程和套接字
文章目录 理解网络编程和套接字网络编程和套接字概要构建套接字编写 Hello World 服务器端构建请求连接套接字在Linux平台下运行 基于Linux的文件操作打开文件关闭文件将数据写入文件读取文件中的数据 理解网络编程和套接字 网络编程和套接字概要 网络编程就是编写程序使两台…...

Python 潮流周刊#18:Flask、Streamlit、Polars 的学习教程
你好,我是猫哥。这里每周分享优质的 Python、AI 及通用技术内容,大部分为英文。标题取自其中三则分享,不代表全部内容都是该主题,特此声明。 本周刊由 Python猫 出品,精心筛选国内外的 250 信息源,为你挑选…...

装备一台ubuntu
配置远程连接: ubuntu的root用户无法远程登入问题: openssh安装命令: sudo apt-get install openssh-server 安装完成通过以下命令查看SSH是否启动 ps -e | grep ssh 如果只有ssh-agent表示还没启动,需要: /etc/i…...

为了更好和大家交流,欢迎大家加我的微信账户
因为一些懂的都懂的原因,如果我的账户显示为 此时我无法通过站内信、留言或者任何方式和大家联系。 如果看到这样的内容,可以在此评论区留下你的微信账户,我看到后会添加你。为防止其他人冒充我,我的微信号以2206结尾。...

MS1826A HDMI 多功能视频处理器 HDMI4进1出画面分割芯片
基本介绍 MS1826A 是一款多功能视频处理器,包含 4 路独立 HDMI 音视频输入通道、1 路 HDMI 音视 频输出通道以及 1 路独立可配置为输入或者输出的 SPDIF、I2S 音频信号。支持 4 个独立的字库定 制型 OSD;可处理隔行和逐行视频或者图形输入信号࿱…...

最新文献怎么找|学术最新前沿文献哪里找
查找下载最新文献最好、最快、最省事的方法就是去收录该文献的官方数据库中下载。举例说明: 有位同学求助下载一篇2023年新文献,只有DOI号10.1038/s41586-023-06281-4,遇到这种情况可以在DOI号前加上http://doi.org/输入地址栏查询该文献的篇…...

ctfshow 红包题
前言: 最近一直在搞java很少刷题,看见ctfshow的活动赶紧来复现一波~ ctfshow 红包挑战7 <?php highlight_file(__FILE__); error_reporting(2); extract($_GET); ini_set($name,$value); system("ls ".filter($_GET[1])."" )…...

SpringBoot项目(jar)部署,启动脚本
需求 SpringBoot项目(jar)部署,需要先关闭原来启动的项目,再启动新的项目。直接输入命令,费时费力,还容易出错。所以,使用脚本启动。 脚本 脚本名:start.sh 此脚本需要放置在jar包…...

大数据(四)主流大数据技术
大数据(四)主流大数据技术 一、写在前面的话 To 那些被折磨打击的好女孩(好男孩): 有些事情我们无法选择,也无法逃避伤害。 但请你在任何时候都记住: 你可能在一些人面前,一文不值&a…...

【已解决】激活虚拟环境报错:此时不应有Anaconda3\envs\[envs]\Library\ssl\cacert.pem。
新建虚拟环境后,进入虚拟环境的时候出现这样的报错: 此时不应有Anaconda3 envs yolov5 Library ssl cacert.pem。 但是之前装的虚拟环境也还能再次激活,base环境也无任何问题,仅新装的虚拟环境无法激活。 查遍了百度谷歌ÿ…...

Vue安装过程的困惑解答——nodejs和vue关系、webpack、vue-cli、vue的项目结构
文章目录 1、为什么在使用vue前要下载nodejs?2、为什么安装nodejs后就能使用NPM包管理工具?3、为什么是V8引擎并且使用C实现?4、为什么会安装淘宝镜像?5、什么是webpack模板?6、什么是脚手架 vue-cli?6.1 安…...

PWA ~
vite 安装: pnpm i vite-plugin-pwa -Dvite.config import { VitePWA } from vite-plugin-pwa export default defineConfig({plugins: [VitePWA()] })env.d.ts /// <reference types"vite-plugin-pwa/client" />打包构建:registerSW…...

YII项目在Docker中运行缓慢
缓慢问题分析 请求YII的api时间请求原生查询时间win10 上运行docker上的php api异常慢ubuntu 中拉代码git报错 请求YII的api时间 请求原生查询时间 win10 上运行docker上的php api异常慢 链接阿里数据的 入口直接返回的 网上有说是docker的dns解析慢; 也有说是…...

合宙Air724UG LuatOS-Air LVGL API控件--图表 (Chart)
图表 (Chart) 一幅图胜过一千个字,通过图表展示出的数据内容能让用户更快速有效的了解数据特征。 代码示例 – 创建图表 chart lvgl.chart_create(lvgl.scr_act(), nil) lvgl.obj_set_size(chart, 200, 150) lvgl.obj_align(chart, nil, lvgl.ALIGN_CENTER, 0, …...

Three.js之模型对象、材质
参考资料 三维向量Vector3与模型位置…克隆.clone()和复制.copy() 知识点 注:基于Three.jsv0.155.0 三维向量Vector3与模型位置欧拉Euler与角度属性.rotation模型材质颜色(Color对象)模型材质父类Material:透明、面属性模型材质和几何体属性克隆.clo…...

uniapp启动微信小程序开发者工具报错Enable IDE Service (y/N) [27D[27C
下载安装好微信小程序开发者路径 配置好启动路径后 报错[微信小程序开发者工具] ? Enable IDE Service (y/N) [27D[27C 解决办法 因为微信开发者工具的服务端口号没有打开...

Gitee注册和使用
个人主页:点我进入主页 专栏分类:C语言初阶 C语言程序设计————KTV C语言小游戏 欢迎大家点赞,评论,收藏。 一起努力,一起奔赴大厂。 目录 1.Gitee 1.1Gitee是什么 1.2Gitee的注册以及远程仓库的创建…...

【Flutter】下载安装Flutter并使用学习dart语言
前言 安装flutter, 并使用flutter内置的dartSDK学习使用dart语言。 编辑器: Android Studio fluuter 版本 : flutter_windows_3.13.1 内置dartSDK : 3.1.0 dart路径路径: flutter安装路径\bin\cache\dart-sdk 安装Flutter 下载安装包 flutter下载地址…...

HTTP返回状态值详解整理
一、总体 1xx:信息响应类,表示接收到请求并且继续处理 2xx:处理成功响应类,表示动作被成功接收、理解和接受 3xx:重定向响应类,为了完成指定的动作,必须接受进一步处理 4xx:客户端错误,客户请求包含语法错误或者是不能…...

python web 开发与 Node.js + Express 创建web服务器入门
目录 1. Node.js Express 框架简介 2 Node.js Express 和 Python 创建web服务器的对比 3 使用 Node.js Express 创建web服务器示例 3.1 Node.js Express 下载安装 3.2 使用Node.js Express 创建 web服务器流程 1. Node.js Express 框架简介 Node.js Express 是一种…...

OpenCV(三):Mat类数据的读取
目录 1.Mat类矩阵的常用属性 2.Mat元素的读取 1.at方法读取Mat矩阵元素 at (int row,int col) 2.矩阵元素地址定位方式访问元素 3.Android jni demo 1.Mat类矩阵的常用属性 下面是一些Mat类的常用属性: rows: 返回Mat对象的行数。 cols: 返回Mat对象的列数。 …...

区块链BaaS篇
区块链BaaS(Blockchain as a Service)区块链即服务;感觉5年前做的BaaS和现在做的BaaS没啥区别,换了批人重复造轮子,BaaS做的越来越乱,也越来越中心化。BaaS是方便区块链调用的工具,工具是方便使…...

C++|观察者模式
观察者模式: 定义对象间的一种一对多(变化)的依赖关系,以便当一个 对象(Subject)的状态发生改变时,所有依赖于它的对象都 得到通知并自动更新 动机: 在软件构建过程中,我们需要为某些对象建立…...

【java 入侵 C# 之路】1-入门
感谢 https://www.cnblogs.com/mww-NOTCOPY/p/12213373.html 百度百科 jvm对应clr java se runtime对应 .net framework, jdk对应 .net framework sdk, java对应C# .NET 是开发者平台,它包含开发环境、技术框架、社区论坛、服务支持等&…...