|
https://blog.csdn.net/weixin_39305029/article/details/105187066
我自己总结的方法:
首先,创建一个自定义的nat网络 注意:windows的docker只能创建NAT网络 不能创建bridge
docker network create --driver=nat --subnet=172.18.0.0/16 nat1
然后创建固定IP的容器
docker run -d -v C:\D2-1\D2GS:C:\D2GS -v C:\D2-1\SaveFile:C:\SaveFile --network nat1 --ip 172.18.1.1 --name D2GS1 -it mcr.microsoft.com/windows/server:ltsc2022 cmd.exe
然后重启服务器
重启完毕docker启动不了,提示网络没有了,是因为服务器重启以后自定义的网络会被删掉,这个时候手动重新创建网络,然后删掉docker的网卡,重新设置网卡
docker network disconnect nat1 D2GS1
docker network connect nat1 D2GS1
docker start D2GS1
docker exec -it D2GS1 cmd
首先查看容器的网络信息
netsh int ipv4 show con
然后用命令修改容器的IP
netsh int ipv4 add address "vEthernet (Ethernet)" 172.18.1.1 255.255.0.0
这里会提示Access is denied
这个时候查看ipconfig还是没有新IP
然后我又输入了一遍netsh int ipv4 add address "vEthernet (Ethernet)" 172.18.1.1 255.255.0.0
提示The object already exists.
很奇怪,这次提示说已存在,查看IP就有了,估计是要输入2遍这个命令
如果需要的IP被随机分配到其他的容器上了,只需要重启其他的容器,他会自动换IP的 |
|