ala*_*bra 5 docker docker-compose
有没有办法告诉 docker 在运行时不要使用某些特定的网络 docker-compose up?
我正在使用一些开箱即用的示例 ( hyperledger) 并且每次 docker 获取一个中断我的远程连接的地址时。
[xxx@xxx fabric]$ docker network inspect some_network
[
{
"Name": "some_network",
"Id": "xxx",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": null,
"Config": [
{
"Subnet": "172.30.0.0/16",
"Gateway": "172.30.0.1/16"
}
]
},
"Internal": false,
"Containers": {},
"Options": {},
"Labels": {}
}
]
Run Code Online (Sandbox Code Playgroud)
我想告诉 docker(不编辑 docker-compose.yaml 文件)永远不要使用 network172.30.0.0/16。
在内部创建网络时docker-compose.yml,可以指定 IP 范围、子网、网关等。您可以这样做。
version: "3"
services:
service1:
build: .
...
networks:
default:
subnet: 172.28.0.0/16
ip-range: 172.28.5.0/24
gateway: 172.28.5.254
Run Code Online (Sandbox Code Playgroud)
要在 Docker 守护程序中执行此操作,您需要传递--bip和--fixed-cidr参数。
来自 Docker 文档:https : //docs.docker.com/engine/userguide/networking/default_network/custom-docker0/
--bip=CIDR:docker0使用标准 CIDR 表示法为网桥提供特定的 IP 地址和网络掩码 。例如:192.168.1.5/24。
--fixed-cidr=CIDR:docker0使用标准 CIDR 表示法限制子网的 IP 范围。例如:172.16.1.0/28。此范围必须是固定 IP 的 IPv4 范围,例如10.20.0.0/16,并且必须是网桥 IP 范围的子集(docker0 或使用 --bridge 设置)。例如,使用 --fixed-cidr=192.168.1.0/25,将从192.168.1.0/24子网中包含的前半部分地址中选择容器的 IP 。
要使此更改永久化,请创建或编辑/etc/docker/daemon.json并添加选项bip和fixed-cidr.
{
"bip": "192.168.1.5/24",
"fixed-cidr": "192.168.1.0/25"
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4524 次 |
| 最近记录: |