mirror of
https://github.com/containers/podman-compose.git
synced 2025-06-20 11:47:50 +02:00
#407: allow network_mode=service:mysrv
This commit is contained in:
parent
25494b5f6e
commit
523d215b48
@ -556,6 +556,9 @@ def assert_cnt_nets(compose, cnt):
|
|||||||
"""
|
"""
|
||||||
create missing networks
|
create missing networks
|
||||||
"""
|
"""
|
||||||
|
net = cnt.get("network_mode", None)
|
||||||
|
if net and not net.startswith("bridge"):
|
||||||
|
return
|
||||||
proj_name = compose.project_name
|
proj_name = compose.project_name
|
||||||
nets = compose.networks
|
nets = compose.networks
|
||||||
default_net = compose.default_net
|
default_net = compose.default_net
|
||||||
@ -603,6 +606,14 @@ def assert_cnt_nets(compose, cnt):
|
|||||||
|
|
||||||
def get_net_args(compose, cnt):
|
def get_net_args(compose, cnt):
|
||||||
service_name = cnt["service_name"]
|
service_name = cnt["service_name"]
|
||||||
|
net = cnt.get("network_mode", None)
|
||||||
|
if net:
|
||||||
|
if net=="host":
|
||||||
|
return ['--network', net]
|
||||||
|
if net.startswith("service:"):
|
||||||
|
other_srv = net.split(":", 1)[1].strip()
|
||||||
|
other_cnt = compose.container_names_by_service[other_srv][0]
|
||||||
|
return ['--network', f"container:{other_cnt}"]
|
||||||
proj_name = compose.project_name
|
proj_name = compose.project_name
|
||||||
default_net = compose.default_net
|
default_net = compose.default_net
|
||||||
nets = compose.networks
|
nets = compose.networks
|
||||||
@ -677,12 +688,8 @@ def container_to_args(compose, cnt, detached=True):
|
|||||||
for volume in cnt.get('volumes', []):
|
for volume in cnt.get('volumes', []):
|
||||||
podman_args.extend(get_mount_args(compose, cnt, volume))
|
podman_args.extend(get_mount_args(compose, cnt, volume))
|
||||||
|
|
||||||
net = cnt.get("network_mode", None)
|
assert_cnt_nets(compose, cnt)
|
||||||
if net:
|
podman_args.extend(get_net_args(compose, cnt))
|
||||||
podman_args.extend(['--network', net])
|
|
||||||
else:
|
|
||||||
assert_cnt_nets(compose, cnt)
|
|
||||||
podman_args.extend(get_net_args(compose, cnt))
|
|
||||||
|
|
||||||
log = cnt.get('logging')
|
log = cnt.get('logging')
|
||||||
if log is not None:
|
if log is not None:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user