|
@@ -1062,12 +1062,7 @@ func (container *Container) allocateNetwork() error {
|
|
|
|
|
|
var iface *NetworkInterface
|
|
var iface *NetworkInterface
|
|
var err error
|
|
var err error
|
|
- if !container.State.Ghost {
|
|
|
|
- iface, err = container.runtime.networkManager.Allocate()
|
|
|
|
- if err != nil {
|
|
|
|
- return err
|
|
|
|
- }
|
|
|
|
- } else {
|
|
|
|
|
|
+ if container.State.Ghost {
|
|
manager := container.runtime.networkManager
|
|
manager := container.runtime.networkManager
|
|
if manager.disabled {
|
|
if manager.disabled {
|
|
iface = &NetworkInterface{disabled: true}
|
|
iface = &NetworkInterface{disabled: true}
|
|
@@ -1077,8 +1072,20 @@ func (container *Container) allocateNetwork() error {
|
|
Gateway: manager.bridgeNetwork.IP,
|
|
Gateway: manager.bridgeNetwork.IP,
|
|
manager: manager,
|
|
manager: manager,
|
|
}
|
|
}
|
|
- ipNum := ipToInt(iface.IPNet.IP)
|
|
|
|
- manager.ipAllocator.inUse[ipNum] = struct{}{}
|
|
|
|
|
|
+ if iface !=nil && iface.IPNet.IP != nil {
|
|
|
|
+ ipNum := ipToInt(iface.IPNet.IP)
|
|
|
|
+ manager.ipAllocator.inUse[ipNum] = struct{}{}
|
|
|
|
+ } else {
|
|
|
|
+ iface, err = container.runtime.networkManager.Allocate()
|
|
|
|
+ if err != nil {
|
|
|
|
+ return err
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ } else {
|
|
|
|
+ iface, err = container.runtime.networkManager.Allocate()
|
|
|
|
+ if err != nil {
|
|
|
|
+ return err
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|