【发布时间】:2020-10-31 02:55:12
【问题描述】:
我有一个名为“VPN”的现有 (MacVLAN) docker 网络,我通常将我想要在 VPN 上运行的 docker 容器附加到该网络。有两个运行 openvpn 的单个“主机”docker 容器,每个都有自己的 IP,我可以随意将其他容器附加到这些容器。
我最近搬家了,我的新路由器地址是192.168.0.1。但是老房子的路由器的网关在192.168.2.254,而现有的docker网络的子网掩码、IP范围和网关都是为此配置的。
如果我运行docker network inspect VPN,它会给出:
[
{
"Name": "VPN",
"Id": [anidea],
"Created": [sometimenottolongago],
"Scope": "local",
"Driver": "macvlan",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "192.168.2.0/24",
"IPRange": "192.168.2.128/28",
"Gateway": "192.168.2.254"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {},
"Options": {
"parent": "enp5s0"
},
"Labels": {}
}
]
网络上有两台机器,我目前无法访问它们。两台机器都是一个容器,其他容器连接到该容器。 我试过了:
- 在新家庭网络的子网上使用新 IP 地址重新创建 docker 容器。这不起作用,因为 docker 网络“VPN”只允许旧范围内的 IP。
- 以旧 IP 访问 docker 容器/机器。然后我得到一个超时;可能我需要设计一些IP路由什么的?这就是我的知识(如果有的话)开始变得模糊的地方。
我认为最好的办法是更新 docker 网络“VPN”以与新的网关/路由器/家庭网络配合使用;我想更改 IPAM["Config"] 参数以更新新网关和子网。但是,我在网上找不到如何做到这一点(唯一出现的是如何更改 default docker 网络的 default 设置)。
长话短说: 如何更改现有 docker 网络的配置/参数?
如果最终这是一种糟糕的做事方式(例如,如果我可以按当前状态访问网络上的容器),我也愿意提出想法。
主机正在运行 ubuntu-server 20.04.1 LTS。
提前致谢。
【问题讨论】:
-
一种更简单的方法是删除现有的 VPN 网络并使用新参数和相同的名称重新创建它。
-
我希望不必删除网络,因为我不记得我最初是如何制作它的 - 我丢失了我制作的关于如何制作的笔记。我会尝试再次找到它,但与此同时 - 这真的不可能吗?
标签: docker networking