diff --git a/src/Microsoft.Tye.Hosting/DockerRunner.cs b/src/Microsoft.Tye.Hosting/DockerRunner.cs index ba193b69..4a235285 100644 --- a/src/Microsoft.Tye.Hosting/DockerRunner.cs +++ b/src/Microsoft.Tye.Hosting/DockerRunner.cs @@ -79,6 +79,11 @@ namespace Microsoft.Tye.Hosting continue; } + if (string.Equals(binding.Protocol, "udp", StringComparison.InvariantCultureIgnoreCase)) + { + throw new CommandException("Proxy does not support the udp protocol yet."); + } + var b = new ServiceBinding() { ConnectionString = binding.ConnectionString, @@ -232,7 +237,7 @@ namespace Microsoft.Tye.Hosting // These are the ports that the application should use for binding // 1. Tell the docker container what port to bind to - portString = docker.Private ? "" : string.Join(" ", ports.Select(p => $"-p {p.Port}:{p.ContainerPort ?? p.Port}")); + portString = docker.Private ? "" : string.Join(" ", ports.Select(p => $"-p {p.Port}:{p.ContainerPort ?? p.Port}{(string.Equals(p.Protocol, "udp", StringComparison.OrdinalIgnoreCase) ? "/udp" : string.Empty)}")); if (docker.IsAspNet) { diff --git a/src/Microsoft.Tye.Hosting/ProxyService.cs b/src/Microsoft.Tye.Hosting/ProxyService.cs index b11d60fa..cb444c86 100644 --- a/src/Microsoft.Tye.Hosting/ProxyService.cs +++ b/src/Microsoft.Tye.Hosting/ProxyService.cs @@ -63,6 +63,11 @@ namespace Microsoft.Tye.Hosting continue; } + if (string.Equals(binding.Protocol, "udp", StringComparison.InvariantCultureIgnoreCase)) + { + throw new CommandException("Proxy does not support the udp protocol yet."); + } + var ports = binding.ReplicaPorts; // We need to bind to all interfaces on linux since the container -> host communication won't work