The following patch adapts the logic of the merge strategy existing and last
win for service ports.
In the past, the complete object has been replaced based on the merge strategy.
This behavior has been adapted, that each port should now considered
individually per strategy.
Both strategies now focus on the src port of the host system. With a last-win,
the dest port of the container is overwritten with an existing src port.
```diff
service:
my-app:
ports:
- - 0.0.0.0:8080:80
+ - 0.0.0.0:8080:8080
- 0.0.0.0:8443:8443
```
The situation is different with the existing win strategy. There, the destination
port can no longer be changed once there is a connection with a sourc port.
The normal dcmerge did not work, as the check and addition was only
possible if at least one attribute such as service, network or volume
was presentThe normal dcmerge did not work, as the check and addition
was only possible if at least one attribute such as service, network or
volume was present.
The logic was adjusted.
The logic was adjusted.