【发布时间】:2021-03-17 13:13:53
【问题描述】:
我想使用这个客户端用 C# 建立一个 docker 网络:https://github.com/dotnet/Docker.DotNet。
我正在使用带有 windows 容器的 windows docker。
基本上我想做的就是通过 C# 客户端执行这个命令(在 cmd 中执行它可以正常工作):
docker network create --driver=nat --subnet=10.123.174.0/23 --gateway=10.123.174.1 my_network
但是,不知何故,我无法正确设置网络。我用了这一小段代码:
Dictionary<string, string> options = new Dictionary<string, string>();
options.Add("--gateway", "10.123.174.1");
options.Add("--subnet", "10.123.174.0/23");
await _client.Networks.CreateNetworkAsync(new NetworksCreateParameters { Driver = "nat", Name = "my_network", Options = options });
但是网络仍然是用另一个指定的网关创建的,把我的选项只放在网络“选项”数组中:
[
{
"Name": "my_network",
"Id": "2bb2fabfa84518a2a11eff881c859bf324ce732c308a1d5a4d541c74870f5e70",
"Created": "2021-03-17T14:09:01.694993+01:00",
"Scope": "local",
"Driver": "nat",
"EnableIPv6": false,
"IPAM": {
"Driver": "windows",
"Options": null,
"Config": [
{
"Subnet": "172.29.96.0/20",
"Gateway": "172.29.96.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {},
"Options": {
"--gateway": "10.123.174.1",
"--subnet": "10.123.174.0/23",
"com.docker.network.windowsshim.hnsid": "3065184F-EFAF-4537-AF64-F2CD373A3261"
},
"Labels": {}
}
]
我还尝试仅指定“子网”和“网关”(不带“--”),但结果是一样的。 我做错了什么?
【问题讨论】:
标签: c# .net docker networking containers