public CreatePodParameters( IList <string> env, IDictionary <string, global::Docker.DotNet.Models.EmptyStruct> exposedPorts, HostConfig hostConfig, string image, IDictionary <string, string> labels, NetworkingConfig networkingConfig) : this(env, exposedPorts, hostConfig, image, labels, networkingConfig, null, null) { }
static CreatePodParameters CreateOptions( IList <string> env = null, IDictionary <string, EmptyStruct> exposedPorts = null, HostConfig hostConfig = null, string image = null, IDictionary <string, string> labels = null, NetworkingConfig networkingConfig = null, IDictionary <string, string> nodeSelector = null) => new CreatePodParameters(env, exposedPorts, hostConfig, image, labels, networkingConfig) { NodeSelector = Option.Maybe(nodeSelector) };
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { NetworkingConfig networkingConfig = this.Configuration.GetSection("Networking").Get <NetworkingConfig>(); services.Configure <ForwardedHeadersOptions>(options => { options.ForwardLimit = networkingConfig.UpstreamProxyHops; if (networkingConfig.KnownProxyServers?.Count > 0) { foreach (string ip in networkingConfig.KnownProxyServers) { options.KnownProxies.Add(IPAddress.Parse(ip)); } } }); string redisConString = this.Configuration.GetValue <string>("RedisConnectionString"); AesConfig aesSettings = this.Configuration.GetSection("AesSettings").Get <AesConfig>(); services.AddSingleton <IConnectionMultiplexer>(_ => ConnectionMultiplexer.Connect(redisConString)); services.AddTransient <IDatabase>(sp => sp .GetRequiredService <IConnectionMultiplexer>() .GetDatabase(0)); services.AddTransient <IClock>(s => SystemClock.Instance); services.AddTransient <ICryptoService, CryptoService>(); services.AddTransient <IAesEncryptionService>(s => new AesEncryptionService(aesSettings.MasterKey, aesSettings.Version)); services .AddMvc() .AddJsonOptions(options => { options.JsonSerializerOptions.IgnoreNullValues = true; options.JsonSerializerOptions.PropertyNamingPolicy = JsonNamingPolicy.CamelCase; // TODO: figure out NodaTime in 3.0 }); services .AddHealthChecks() .AddCheck <VersionHealthCheck>("version_health_check") .AddCheck <RedisHealthCheck>("redis_health_check"); }
CreatePodParameters( IList <string> env, IDictionary <string, global::Docker.DotNet.Models.EmptyStruct> exposedPorts, HostConfig hostConfig, string image, IDictionary <string, string> labels, NetworkingConfig networkingConfig, IDictionary <string, string> nodeSelector, V1ResourceRequirements resources) { this.Env = Option.Maybe(env); this.ExposedPorts = Option.Maybe(exposedPorts); this.HostConfig = Option.Maybe(hostConfig); this.Image = Option.Maybe(image); this.Labels = Option.Maybe(labels); this.NetworkingConfig = Option.Maybe(networkingConfig); this.NodeSelector = Option.Maybe(nodeSelector); this.Resources = Option.Maybe(resources); }
// Use this for initialization void Start() { print("Setting ttrget fps"); if (UnityEngine.SystemInfo.graphicsDeviceType == UnityEngine.Rendering.GraphicsDeviceType.Null) { QualitySettings.vSyncCount = 0; Application.targetFrameRate = 30; } NetworkingConfig cfg = new NetworkingConfig(); cfg.isServer = false; cfg.isMatchmaker = false; cfg.simulatedLatency = 100; LobbyConnector.Init(cfg); NetworkEvents.onLobbyJoined += OnLobbyJoined; NetworkEvents.onDisconnect += OnLobbyDisconnected; NetworkEvents.onPlayerConnected += OnPlayerConnected; }
public async Task <string> RunAsync(ITestcontainersConfiguration configuration, CancellationToken ct = default) { var converter = new TestcontainersConfigurationConverter(configuration); var hostConfig = new HostConfig { AutoRemove = configuration.AutoRemove.HasValue && configuration.AutoRemove.Value, Privileged = configuration.Privileged.HasValue && configuration.Privileged.Value, PortBindings = converter.PortBindings, Mounts = converter.Mounts, }; var networkingConfig = new NetworkingConfig { EndpointsConfig = converter.Networks, }; var createParameters = new CreateContainerParameters { Image = configuration.Image.FullName, Name = configuration.Name, Hostname = configuration.Hostname, WorkingDir = configuration.WorkingDirectory, Entrypoint = converter.Entrypoint, Cmd = converter.Command, Env = converter.Environments, Labels = converter.Labels, ExposedPorts = converter.ExposedPorts, HostConfig = hostConfig, NetworkingConfig = networkingConfig, }; var id = (await this.Docker.Containers.CreateContainerAsync(createParameters, ct) .ConfigureAwait(false)).ID; this.logger.DockerContainerCreated(id); return(id); }
public async void RunAsync(Guid dadosCampanhaCampanhaId, string servico) { var client = new DockerClientConfiguration(new Uri("tcp://docker.for.win.localhost:2375")) .CreateClient(); if (Environment.OSVersion.ToString().Contains("Windows")) { var argumento = string.Format( "docker run {0} --alias={1} --network={2} --links={3}:{0} -e CAMPANHA={1} -v tcp://docker.for.win.localhost:2375:/var/run/docker.sock {0}", servico, dadosCampanhaCampanhaId, "dotnetcorerabbitmq_net.workflow", "mssql.workflow"); Process.Start("cmd.exe", "/c " + argumento); } else { var parameters = new Config { Image = servico, ArgsEscaped = true, AttachStderr = true, AttachStdin = false, AttachStdout = true, OpenStdin = false, StdinOnce = false, Env = new[] { "CAMPANHA=" + dadosCampanhaCampanhaId + "" }, Labels = new Dictionary <string, string> { { "Links", "mssql.workflow:nyom.workflow.manager" } }, Cmd = new[] { string.Format( "--name {0} --net={1} -links={2}:{0}", servico, "dotnetcorerabbitmq_net.workflow", "mssql.workflow"), "bash" } }; var net = new NetworkingConfig { EndpointsConfig = new Dictionary <string, EndpointSettings> { { "dotnetcorerabbitmq_net.workflow", new EndpointSettings { Links = new List <string> { "mssql.workflow:nyom.workflow.manager" } } } } }; var response = await client.Containers.CreateContainerAsync( new CreateContainerParameters(parameters) { Name = servico, NetworkingConfig = net }); Task task = client.Containers.StartContainerAsync(response.ID, new ContainerStartParameters()); var config = new ContainerAttachParameters { Stream = true, Stderr = false, Stdin = true, Stdout = true }; var buffer = new byte[1024]; using (var stream = await client.Containers.AttachContainerAsync(response.ID, false, config)) { using (var fileStream = File.Create($"{DateTime.Now.Ticks}.jpg")) { await stream.CopyOutputToAsync(null, fileStream, null, default(CancellationToken)); } } } }