docker ——网络配置和管理
docker网络基础
了解docker网络
两种docker网络
- 单主机与多主机的docker网络
网络驱动
网络驱动 | 介绍 |
---|---|
bridge | 桥接网络,这是默认的网络驱动程序 |
host | 主机网络 |
overlay | 覆盖网络 |
macvlan | 将mac地址分配给容器,使容器作为网络上的物理设备 |
none | 表示关闭容器的所有网络连接 |
网络插件 | 可以通过Docker安装和使用第三方的网络插件 |
选择网络驱动的原则
- 用户自定义桥接网络最适合用于同一个docker主机上运行多个容器之间需要通信的场景。
- host乌拉盖诺最适用于当网不能与docker主机隔离,而容器的其他地方需要被隔离的场景
- overlay网络适用于不同docker主机上运行的容器需要的通信的场景,或者多个应用程序通过Swarm集群服务一起工作的场景
- macvlan网络适用于从虚拟机迁移过来的场景,或者向网络上的乌力吉一样,拥有独立的mac地址的场景
- 迪斯拉罕网络插件适用与将docker与专用网络栈进行集成的场景
容器的网络模式
创建容器时,可以指定容器的我那个若模式。docker可以有以下四种模式:
一.bridge 模式
1.了解
- 生产环境中被弃用。
- docker守护进程为每一个启动的容器创建一个VETH对 设备。VETH对设备总是成对出现,他们组成了一个数据通道。数据从一个设备进入,就会从另一个设备出来。
- docker守护进程为每一个启动的容器创建一个VETH对 设备。VETH对设备总是成对出现,他们组成了一个数据通道。数据从一个设备进入,就会从另一个设备出来。
- 默认配置运行一个容器,会添加一张VETH的网卡。
- 删除容器,网卡消失。
- docker0 是docker的守护进程一启动,就会在主机上创建docker0的虚拟网桥
2.操作
(1).查看网络连接和查看网络详细信息
[root@hmm ~]# docker network inspect bridge //查看网络详情
[
{
"Name": "bridge",
"Id": "5afc9ac7b6a51ccd2d1a6fe00c6b5e64760817ff084b8d10609cf52686978a49",
"Created": "2024-04-09T16:01:59.731474913+08:00",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": null,
"Config": [
{
"Subnet": "172.17.0.0/16",
"Gateway": "172.17.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {
"0557f384f47cc9a105ea79770dcaa5455c1b501dfb5cd8d2e7844ef18ef1c8cf": {
"Name": "gifted_shannon",
"EndpointID": "5dd14220ecb730e61bafb08715a4acab3ebb4fe5492bbe377fe79da3cdcd524f",
"MacAddress": "02:42:ac:11:00:03",
"IPv4Address": "172.17.0.3/16",
"IPv6Address": ""
},
"34f04786c73664ed062d99fc4b8d96a462810e581573f2278ea80d11dbfa548b": {
"Name": "myregistry",
"EndpointID": "b8a0deb96a314ead633c3d7dca013124144cbebac4b385fb7e4e07242f3e55ed",
"MacAddress": "02:42:ac:11:00:02",
"IPv4Address": "172.17.0.2/16",
"IPv6Address": ""
}
},
"Options": {
"com.docker.network.bridge.default_bridge": "true",
"com.docker.network.bridge.enable_icc": "true",
"com.docker.network.bridge.enable_ip_masquerade": "true",
"com.docker.network.bridge.host_binding_ipv4": "0.0.0.0",
"com.docker.network.bridge.name": "docker0",
"com.docker.network.driver.mtu": "1500"
},
"Labels": {}
}
]
[root@hmm ~]# docker network ls //查看网络列表
NETWORK ID NAME DRIVER SCOPE
5afc9ac7b6a5 bridge bridge local
67bc430327bc host host local
5f92e59bee8f none null local
eg:
- 容器的网络桥接信息中,网络和默认桥接网络完全对应
docker守护进程为每一个启动的容器
二.host模式
1.了解host模式
- 选择host模式的容器使用host驱动,直接连接到docker主机网络栈。这种网络模式实质上是关闭docker网络,而让容器直接使用主机操作系统的网络
- host模式没有为容器创建一个隔离的网络环境,容器没有隔离的网络名称空间,也不会获得一个独立的网络名称空间,而是和docker主机共用一个网络名称空间
三.container模式
1.了解
- 主要用于容器和容器的直接频繁交流的情况
- 该模式指定新创建的容器和现有的一个容器,而不是和docker主机共享同一个网络名称空间
- 两个容器除了网络方面,其他的如文件系统,进程列表等还是互相隔离的。两个容器的进程可以通过回环网络接口进行通信的
四.none模式
1.了解 - 将容器放置在自己的网络栈中,但是并不进行任何配置,实际上关闭了容器的网络功能。
五。用户自定义网络
1.了解 - 可以使用docker网络驱动,或第三方网络驱动插件创建一个自定义的网络,然后将多个容器连接到同一个自定义网络
- 用户自定义桥接网络与默认桥接网络的主要区别
- 优点:可以通过名称或者别名互相访问。
2.实操
(1)默认情况下,容器之间不能用别名访问
[root@hmm ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0557f384f47c centos "/bin/bash" 19 minutes ago Up 19 minutes gifted_shannon
34f04786c736 registry:latest "/entrypoint.sh /etc…" 13 days ago Up About an hour 0.0.0.0:5000->5000/tcp, :::5000->5000/tcp myregistry
[root@hmm ~]# docker exec -ti 055 /bin/bash
[root@0557f384f47c /]# ping 172.17.0.2
PING 172.17.0.2 (172.17.0.2) 56(84) bytes of data.
64 bytes from 172.17.0.2: icmp_seq=1 ttl=64 time=0.151 ms
64 bytes from 172.17.0.2: icmp_seq=2 ttl=64 time=0.060 ms
^C
--- 172.17.0.2 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.060/0.105/0.151/0.046 ms
[root@0557f384f47c /]# ping 34f04786c736
ping: 34f04786c736: Name or service not known
[root@0557f384f47c /]# //可以使用ip ping ,但是使用主机名时访问不到
容器之间的通信方案
传统的容器连接
[root@hmm ~]# docker run -tid --name yun3test centos
93baea338e296e65137c58caaa91f4f48495340cbe018e9d3404b44492e47267
[root@hmm ~]# docker run -tid --link yun3test:y3t centos //要连接的容器名字:别名
524cd67dc2fe09e41858443b79a4e8d2cbad443cf432c01707192d40f19e457c
[root@hmm ~]# docker exec -ti 524c /bin/bash
[root@524cd67dc2fe /]# ping y3t //使用定义的别名连接
PING y3t (172.17.0.4) 56(84) bytes of data.
64 bytes from y3t (172.17.0.4): icmp_seq=1 ttl=64 time=0.198 ms
64 bytes from y3t (172.17.0.4): icmp_seq=2 ttl=64 time=0.054 ms
^C
--- y3t ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 0.054/0.126/0.198/0.072 ms
[root@524cd67dc2fe /]#
从外部访问容器
1.介绍
简单来说就是 将容器的一个端口映射到docker主机上的一个端口,允许从外部网络通过端口访问容器
要让容器能够被外部网络(docker主机外部)或者那些未连接到该端口访问容器。
2.实例:
root@hmm ~]# docker run -tid -p 8080:80 --name web-test httpd
7461b82860224f05276b12cae589fd89fa213ccc15d3222e08232c02125608d3
[root@hmm ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7461b8286022 httpd "httpd-foreground" 8 seconds ago Up 7 seconds 0.0.0.0:8080->80/tcp, :::8080->80/tcp web-test
34f04786c736 registry:latest "/entrypoint.sh /etc…" 2 weeks ago Up 36 minutes 0.0.0.0:5000->5000/tcp, :::5000->5000/tcp myregistry
[root@hmm ~]# curl 10.0.0.10:8080
<html><body><h1>It works!</h1></body></html>
[root@hmm ~]#
补充:-p和-P的区别
- -p(静态
[root@hmm ~]# docker run -tid --name web-test3 -p 8081:80 httpd
efbee0e06554994c394c01668ad83147b8d7b47aafc70b81559841915d3cd1b6
[root@hmm ~]# docker port web-test3
80/tcp -> 0.0.0.0:8081
80/tcp -> [::]:8081
[root@hmm ~]# curl http://10.0.0.10:8081
<html><body><h1>It works!</h1></body></html>
[root@hmm ~]#
- -P(动态
[root@hmm ~]# docker run -tid --name web-test2 -P httpd
0b7a0b621f553c8668b274be47aa4da30e80ea038e55f427cbda686742b8e649
[root@hmm ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0b7a0b621f55 httpd "httpd-foreground" About a minute ago Up 59 seconds 0.0.0.0:32768->80/tcp, :::32768->80/tcp web-test2
7461b8286022 httpd "httpd-foreground" 7 minutes ago Up 7 minutes 0.0.0.0:8080->80/tcp, :::8080->80/tcp web-test
34f04786c736 registry:latest "/entrypoint.sh /etc…" 2 weeks ago Up 43 minutes 0.0.0.0:5000->5000/tcp, :::5000->5000/tcp myregistry
[root@hmm ~]# docker port web-test2
80/tcp -> 0.0.0.0:32768
80/tcp -> [::]:32768
[root@hmm ~]# curl http://10.0.0.10:32768
<html><body><h1>It works!</h1></body></html>
[root@hmm ~]# //可以使用多个-p设置任意数量的端口映射
了解容器的网络配置用法
一.设置容器网络连接
1.容器启动时,可以用--network选项设置容器要连接的网络,即网络模式
- none:使用none模式,容器不联网
- bridge:使用默认桥接网络
- hosy:使用默认的主机网络
- container:容器使用另一个容器的网络
- 网络名或网络ip:连接自定义网络,通常用这个。
2.案例:
none:
[root@hmm ~]# docker network ls
NETWORK ID NAME DRIVER SCOPE
9157d67bb75c bridge bridge local
67bc430327bc host host local
5f92e59bee8f none null local
[root@hmm ~]# docker run --network none -tid --name none-test1 centos
e488e527ebc0b4a9c0b1b3706d47b5338b045d58aba0a8f372934bb4b6b4f7bf
[root@hmm ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e488e527ebc0 centos "/bin/bash" 44 seconds ago Up 43 seconds none-test1
411f6067d60a centos "/bin/bash" 2 minutes ago Up 2 minutes none-test
efbee0e06554 httpd "httpd-foreground" 12 minutes ago Up 12 minutes 0.0.0.0:8081->80/tcp, :::8081->80/tcp web-test3
0b7a0b621f55 httpd "httpd-foreground" 15 minutes ago Up 15 minutes 0.0.0.0:32768->80/tcp, :::32768->80/tcp web-test2
7461b8286022 httpd "httpd-foreground" 22 minutes ago Up 22 minutes 0.0.0.0:8080->80/tcp, :::8080->80/tcp web-test
34f04786c736 registry:latest "/entrypoint.sh /etc…" 2 weeks ago Up 58 minutes 0.0.0.0:5000->5000/tcp, :::5000->5000/tcp myregistry
[root@hmm ~]# docker inspect none-test1 --format="{{ json .HostConfig.NetworkMode }}" //json后面需要空格 表示应用的变量
"none"
[root@hmm ~]#
二.为容器添加网络作用域的别名
1.解释
容器在网络作用域中允许有别名,别名在所在的网络中可以直接访问
使用--network-alias选项指定容器在网络中的别名
2.实例
- 网络作用域别名只支持用户自定义网络
错误:
[root@hmm ~]# docker run -tid --name test-alias --network-alias websrv can
docker: network-scoped aliases are only supported for user-defined networks.
See 'docker run --help'.
[root@hmm ~]#
//使用用户默认的网络使用自定义 是不支持的
成功:
[root@hmm ~]# docker network create --driver bridge yun3-nat
167e7d89276f2c1974ee208271a4f97b31ef1f836856360179bc8cff19b5ed7a
[root@hmm ~]# docker network ls
NETWORK ID NAME DRIVER SCOPE
9157d67bb75c bridge bridge local
67bc430327bc host host local
5f92e59bee8f none null local
167e7d89276f yun3-nat bridge local
[root@hmm ~]# docker run -tid --name test-alias01 --network yun3-nat --network-alias ta01 centos
c88e88c2559b8572bcfe84b36d2272525ff0995fc7429d9cfe9ebb9bccd5c2ab
[root@hmm ~]# docker run -tid --name test-alias02 --network yun3-nat --network-alias ta02 centos
59b7a48e36393570e5ff57b4e2dc22ba6e0123adb2ad44972ad95bfdc1dcaed0
[root@hmm ~]# docker exec -ti test-alias01 /bin/bash
[root@c88e88c2559b /]# ping ta02
PING ta02 (172.18.0.3) 56(84) bytes of data.
64 bytes from test-alias02.yun3-nat (172.18.0.3): icmp_seq=1 ttl=64 time=0.247 ms
^C
--- ta02 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.247/0.247/0.247/0.000 ms
[root@c88e88c2559b /]# ping alias02
ping: alias02: Name or service not known
[root@c88e88c2559b /]# ping test-alias02
PING test-alias02 (172.18.0.3) 56(84) bytes of data.
64 bytes from test-alias02.yun3-nat (172.18.0.3): icmp_seq=1 ttl=64 time=0.049 ms
64 bytes from test-alias02.yun3-nat (172.18.0.3): icmp_seq=2 ttl=64 time=0.146 ms
^C
--- test-alias02 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1004ms
rtt min/avg/max/mdev = 0.049/0.097/0.146/0.049 ms
[root@c88e88c2559b /]#
三.设置容器的ip地址
1.介绍
使用--network选项连接自定义网络时,可以使用--ip和--ip6选项指定分配给容器的ip地址
两个前置条件:
1)用户自定义网络
2)用户自定义网络配置了子网
2.实例
- 失败:
//第一种情况,失败是因为没有使用用户自定义网络
[root@hmm ~]# docker run -tid --ip 172.17.0.100 centos
docker: Error response from daemon: invalid config for network default: invalid endpoint settings:
user specified IP address is supported on user defined networks only.
See 'docker run --help'.
[root@hmm ~]# //第二种情况,失败是因为用户自定义网络没有配置子网
[root@hmm ~]# docker run -tid --network yun3-nat --ip 10.10.0.15 centos
docker: Error response from daemon: invalid config for network yun3-nat: invalid endpoint settings:
user specified IP address is supported only when connecting to networks with user configured subnets.
See 'docker run --help'.
[root@hmm ~]#
- 成功:
[root@hmm ~]# docker network create --driver bridge --subnet 10.10.0.0/24 --gateway 10.10.0.254 yun3-net
dd334c241b059cd0298a7bc505b0d2d8262571264c770ed7fb5486267db6e019
[root@hmm ~]# docker inspect yun3-net
[
{
"Name": "yun3-net",
"Id": "dd334c241b059cd0298a7bc505b0d2d8262571264c770ed7fb5486267db6e019",
"Created": "2024-04-09T19:58:27.850763463+08:00",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "10.10.0.0/24",
"Gateway": "10.10.0.254"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {},
"Options": {},
"Labels": {}
}
]
[root@hmm ~]# docker run -tid --network yun3-net --ip 10.10.0.15 --name ip-test centos
59bdaaff9ac1788aa92136717de1de15639e68d169ef525cb2b3395977685750
[root@hmm ~]#
四.设置容器的网络接口mac地址
1.介绍
默认情况,容器mac地址是基于ip地址生成的。
可以通过--mac-address
选项为容器指定一个ip地址
2.实例
与自己mac地址一致:
[root@hmm-docker ~]# docker run -tid --name mac-test01 --mac-address 00:0c:29:3d:66:01 centos
3dca5251e90114fc426eb8c17418dbc9552135d2cf00203731b8b514a05a0714
[root@hqs-docker ~]# docker inspect mac-test01 --format="{{json .NetworkSettings.MacAddress}}"
"00:0c:29:3d:66:01"
[root@hmm-docker ~]#
修改mac地址尾数
[root@hmm-docker ~]# docker run -tid --name mac-test02 --mac-address 00:0c:29:3d:66:02 centos
8b108d18769164ce566f0166b21ea83467ebcbde2de9086725037127d78f33f3
[root@hmm-docker ~]# docker inspect mac-test02 --format="{{json .NetworkSettings.MacAddress}}"
"00:0c:29:3d:66:02"
[root@hmm-docker ~]#
五.设置容器的dns和主机名
1.介绍
容器默认继承docker守护进程的dns配置(包括/etc/hosts和/etc/resolv.conf文件),也可以用选项进行覆盖默认配置。
2.实例
- --dns(为了容器设置)
[root@hmm-docker ~]# docker run -tid --name dns-test --dns 202.103.24.68 centos
86b5e75098680c3804f6463ddc282c3c08d1ea72d122997240d7967496e234fd
[root@hmm-docker ~]# docker exec -ti dns-test /bin/bash
[root@86b5e7509868 /]# cat /etc/resolv.conf
nameserver 202.103.24.68
[root@86b5e7509868 /]# ping baidu.com
PING baidu.com (39.156.66.10) 56(84) bytes of data.
64 bytes from 39.156.66.10 (39.156.66.10): icmp_seq=1 ttl=127 time=23.10 ms
64 bytes from 39.156.66.10 (39.156.66.10): icmp_seq=2 ttl=127 time=24.5 ms
^C
--- baidu.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 23.959/24.216/24.473/0.257 ms
[root@86b5e7509868 /]#
- --dns-search
- --dns-option
[root@hmm-docker ~]# docker run -tid --dns-option ma,e:hmm --name dns-opt-test2 centos
5ad01898f38cb072cdc08df2aaed226adfbdff589932add0c3503b3894d7575d
[root@hmm-docker ~]# docker exec -ti dns-opt-test2 /bin/sh
sh-4.4# cat /etc/resolv.conf
nameserver 114.114.114.114
options ma,e:hmm
sh-4.4#
- --hostname
[root@hmm-docker ~]# docker run -tid --name host-test --hostname 2022-yun3 centos
143f8bcdc91d160ffd71bbfddbae6e472be996a889563d3f7b118cca85fb7401
[root@hmm-docker ~]# docker inspect host-test --format "{{json .Config.Hostname}}"
"2022-yun3"
[root@hmm-docker ~]# docker exec -ti host-test /bin/bash
[root@2022-yun3 /]# cat /etc/hosts
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.7 2022-yun3
[root@2022-yun3 /]#
网络管理
docker网络管理用法
- docker network connect
- docker network create
- docker network disconnect
docker ——网络配置和管理的更多相关文章
- docker网络配置
Docker网络配置 Docker网络模式介绍 Docker在创建容器时有四种网络模式:bridge/host/container/none,bridge为默认不需要用--net去指定,其他三种模式需 ...
- Docker网络配置、Docker部署分布式项目
目标 1.Docker网络配置 2.Docker部署SpringCloud项目 Docker网络配置 Docker网络模式介绍 Docker在创建容器时有四种网络模式:bridge/host/cont ...
- Linux基础五:网络配置与管理
五.网络配置与管理 1.网络知识 2.命令 ifconfig命令 <=> ip addr show 命令--查看本地所有网卡配置信息 ens32:本地以太网网卡,lo:本地回环网卡 ...
- Redhat7/CentOS7 网络配置与管理(nmtui、nmcli、GNOME GUI、ifcfg文件、IP命令)
Redhat7/CentOS7 网络配置与管理(nmtui.nmcli.GNOME GUI.ifcfg文件.IP命令) 背景:作为系统管理员,需要经常处理主机网络问题,而配置与管理网络的方法和工具也有 ...
- docker网络配置方法总结
docker启动时,会在宿主主机上创建一个名为docker0的虚拟网络接口,默认选择172.17.42.1/16,一个16位的子网掩码给容器提供了65534个IP地址.docker0只是一个在绑定到这 ...
- 5、Docker网络配置(单机)
一.概述 以下内容参考:https://docs.docker.com/network/#network-drivers Docker容器和服务如此强大的原因之一是您可以将它们连接在一起,或者将它们连 ...
- docker——网络配置
一.网络启动与配置参数 Docker启动时会在主机上自动创建一个docker0虚拟网桥,实际上是一个Linux网桥,可以理解为一个软件交换机,它会在挂载其上的接口之间进行数据转发.同时,Docker随 ...
- Docker网络配置进阶
Docker启动会默认创建docker0虚拟网桥,是Linux的一个bridge,可以理解成一个软件交换机.它会在挂载到它的网口之间进行转发. 之后所有容器都是在172.17.0.x的网段上,并且可以 ...
- Docker(六):Docker网络配置进阶
1.Docker集群网络配置之Weave Weave是Github上一个比较热门的Docker容器网络方案,具有非常良好的易用性且功能强大.仓库地址:https://github.com/weavew ...
- Oracle 网络配置与管理
[学习目标] Oracle 监听器是一个服务器端程序,用于监听所有来自客户端的请求,并为其提供数 据库服务.因此对监听器的管理与维护相当重要. 本章主要内容是描述对Oracle 监听器 ...
随机推荐
- native react 代码智能提示
背景 在vscode 中,虽然有插件可以达到代码提示的效果但是不是很嗨. 所以加上这些: 全局安装typings: npm install typings -g 1 安装react和react-nat ...
- 剑指offer38(Java)-字符串的排列(中等)
题目: 输入一个字符串,打印出该字符串中字符的所有排列. 你可以以任意顺序返回这个字符串数组,但里面不能有重复元素. 示例: 输入:s = "abc"输出:["abc&q ...
- 力扣74(java&python)-搜索二维矩阵(中等)
题目: 编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值.该矩阵具有如下特性: 每行中的整数从左到右按升序排列.每行的第一个整数大于前一行的最后一个整数. 示例 1: 输入:matri ...
- 力扣393(java)-UTF-8编码验证(中等)
题目: 给定一个表示数据的整数数组 data ,返回它是否为有效的 UTF-8 编码. UTF-8 中的一个字符可能的长度为 1 到 4 字节,遵循以下的规则: 对于 1 字节 的字符,字节的第一位设 ...
- 力扣263(java)-丑数(简单)
题目: 丑数 就是只包含质因数 2.3 和 5 的正整数. 给你一个整数 n ,请你判断 n 是否为 丑数 .如果是,返回 true :否则,返回 false . 示例 1: 输入:n = 6输出:t ...
- 写给大家看的“不负责任” K8s 入门文档
前言 2019 年下半年,我做了一次转岗,开始接触到 Kubernetes,虽然对 K8s 的认识还非常的不全面,但是非常想分享一下自己的一些收获,希望通过本文能够帮助大家对 K8s 有一个入门的了解 ...
- 全链路灰度之 RocketMQ 灰度
简介:本文将以上次介绍过的<如何用 20 分钟就能获得同款企业级全链路灰度能力?>中的场景为基础,来进一步介绍消息场景的全链路灰度. 作者:亦盏 之前的系列文章中,我们已经通过全链路金丝 ...
- 阿里云 EDAS 3.0 助力唱鸭提升微服务幸福感
简介: EDAS 3.0 提供的微服务治理,很好的支持了唱鸭 APP 实现微服务应用的发布.监控.管理等日常业务场景.作为运维侧的重要平台和开框架的提供者,EDAS 3.0 帮助用户可以更专注业务.微 ...
- Spring Boot应用中如何动态指定数据库,实现不同用户不同数据库的场景
当在 Spring Boot 应用程序中使用Spring Data JPA 进行数据库操作时,配置Schema名称是一种常见的做法.然而,在某些情况下,模式名称需要是动态的,可能会在应用程序运行时发生 ...
- linux 环境下idea 注册过期或激活异常解决
//@desn:linux 环境下idea 注册过期或激活异常解决 //@desn:码字不宜,转载请注明出处 //@author:张慧源 <turing_zhy@163.com> //@ ...