Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

162
Vistas
Cómo crear una red docker con direcciones IP estáticas usando el cliente C# en Windows

Quiero configurar una red docker con C# usando este cliente: https://github.com/dotnet/Docker.DotNet .

Estoy usando Docker para Windows con contenedores de Windows.

Básicamente, todo lo que quiero hacer es ejecutar este comando a través del cliente C# (ejecutarlo en cmd funciona bien):

 docker network create --driver=nat --subnet=10.123.174.0/23 --gateway=10.123.174.1 my_network

Sin embargo, de alguna manera no logro configurar la red correctamente. Yo uso este pequeño fragmento de código:

 Dictionary<string, string> options = new Dictionary<string, string>(); options.Add("--gateway", "10.123.174.1"); options.Add("--subnet", "10.123.174.0/23"); await _client.Networks.CreateNetworkAsync(new NetworksCreateParameters { Driver = "nat", Name = "my_network", Options = options });

Pero la red todavía se crea con otra puerta de enlace que la especificada, colocando mis opciones solo en la matriz de "opciones" de la red:

 [ { "Name": "my_network", "Id": "2bb2fabfa84518a2a11eff881c859bf324ce732c308a1d5a4d541c74870f5e70", "Created": "2021-03-17T14:09:01.694993+01:00", "Scope": "local", "Driver": "nat", "EnableIPv6": false, "IPAM": { "Driver": "windows", "Options": null, "Config": [ { "Subnet": "172.29.96.0/20", "Gateway": "172.29.96.1" } ] }, "Internal": false, "Attachable": false, "Ingress": false, "ConfigFrom": { "Network": "" }, "ConfigOnly": false, "Containers": {}, "Options": { "--gateway": "10.123.174.1", "--subnet": "10.123.174.0/23", "com.docker.network.windowsshim.hnsid": "3065184F-EFAF-4537-AF64-F2CD373A3261" }, "Labels": {} } ]

También intenté especificar solo "subred" y "puerta de enlace" (sin "--") pero el resultado fue el mismo. ¿Qué hago mal?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Como puede ver en su propio ejemplo, esta configuración pertenece a IPAM.Config ( referencia de API ), no a Opciones:

 "IPAM": { "Config": [ { "Subnet": "172.29.96.0/20", "Gateway": "172.29.96.1" } ] },

Debe crear un objeto IPAM y pasarlo al argumento NetworksCreateParameters.IPAM . Aquí hay un mal ejemplo:

 Dictionary<string, string> options = new Dictionary<string, string>(); options.Add("Gateway", "10.123.174.1"); options.Add("Subnet", "10.123.174.0/23"); IList<Dictionary<string, string>> configs = new IList<Dictionary<string, string>>(); configs.Add(options); Dictionary<string, IList<Dictionary<string, string>>> ipam = new Dictionary<string, IList<Dictionary<string, string>>>(); ipam.Add("Config", configs); await _client.Networks.CreateNetworkAsync(new NetworksCreateParameters { Driver = "nat", Name = "my_network", IPAM = ipam });

Lo siento, podría haberme metido en alguna parte con el ejemplo ya que solo usé C# un par de veces en mi vida y eso fue hace años. Consulte la referencia de la API que mencioné. Puede encontrar allí algunos ejemplos sobre qué datos se esperan.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda