implement --publish in docker-compose run

Signed-off-by: Denis Ledoux <dle@odoo.com>
This commit is contained in:
Denis Ledoux 2024-04-28 00:27:14 +02:00
parent 2681566580
commit 72a94d5185
2 changed files with 20 additions and 0 deletions

View File

@ -2587,6 +2587,10 @@ def compose_run_update_container_from_args(compose, cnt, args):
del cnt[k]
except KeyError:
pass
if args.publish:
ports = cnt.get("ports", [])
ports.extend(norm_ports(args.publish))
cnt["ports"] = ports
if args.volume:
# TODO: handle volumes
volumes = clone(cnt.get("volumes", None) or [])

View File

@ -35,6 +35,21 @@ class TestComposeRunUpdateContainerFromArgs(unittest.TestCase):
}
self.assertEqual(cnt, expected_cnt)
def test_publish_ports(self):
cnt = get_minimal_container()
compose = get_minimal_compose()
args = get_minimal_args()
args.publish = ["1111", "2222:2222"]
compose_run_update_container_from_args(compose, cnt, args)
expected_cnt = {
"name": "default_name",
"ports": ["1111", "2222:2222"],
"tty": True,
}
self.assertEqual(cnt, expected_cnt)
def get_minimal_container():
return {}
@ -53,6 +68,7 @@ def get_minimal_args():
name="default_name",
rm=None,
service=None,
publish=None,
service_ports=None,
user=None,
volume=None,