Skip to content

Commit

Permalink
Merge pull request #10246 from zhangguanzhang/compose-static-ip
Browse files Browse the repository at this point in the history
Fixes docker-compose cannot set static ip when use ipam
  • Loading branch information
openshift-merge-robot authored May 6, 2021
2 parents b6405c1 + c0de4a4 commit d6000a0
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 0 deletions.
5 changes: 5 additions & 0 deletions cmd/podman/common/create_opts.go
Original file line number Diff line number Diff line change
Expand Up @@ -302,6 +302,11 @@ func ContainerCreateToContainerCLIOpts(cc handlers.CreateContainerConfig, cgroup
staticIP := net.ParseIP(ep.IPAddress)
netInfo.StaticIP = &staticIP
}
// if IPAMConfig.IPv4Address is provided
if ep.IPAMConfig != nil && ep.IPAMConfig.IPv4Address != "" {
staticIP := net.ParseIP(ep.IPAMConfig.IPv4Address)
netInfo.StaticIP = &staticIP
}
// If MAC address is provided
if len(ep.MacAddress) > 0 {
staticMac, err := net.ParseMAC(ep.MacAddress)
Expand Down
17 changes: 17 additions & 0 deletions test/compose/ipam_set_ip/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
version: "3.2"
services:
test:
image: alpine
networks:
net1:
ipv4_address: 10.123.0.253
tty: true
command: ["top"]

networks:
net1:
driver: bridge
ipam:
driver: default
config:
- subnet: 10.123.0.0/24
4 changes: 4 additions & 0 deletions test/compose/ipam_set_ip/tests.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# -*- bash -*-

podman container inspect ipam_set_ip_test_1 --format '{{ .NetworkSettings.Networks.ipam_set_ip_net1.IPAddress }}'
like "$output" "10.123.0.253" "$testname : ip address is set"

0 comments on commit d6000a0

Please sign in to comment.