public bool Start() { _container = new DockerContainerBuilder(new DockerContainerBuilderOptions { FromImage = "postgres", Tag = "alpine", Name = "postgres-evolve", Env = new[] { $"POSTGRES_PASSWORD={DbPwd}", $"POSTGRES_DB={DbName}" }, ExposedPort = $"{ExposedPort}/tcp", HostPort = HostPort }).Build(); return(_container.Start()); }
public bool Start() { _container = new DockerContainerBuilder(new DockerContainerBuilderOptions { FromImage = "mariadb", Tag = "latest", Name = "mariadb-evolve", Env = new[] { $"MYSQL_ROOT_PASSWORD={DbPwd}", $"MYSQL_DATABASE={DbName}" }, ExposedPort = $"{ExposedPort}/tcp", HostPort = HostPort }).Build(); return(_container.Start()); }
public bool Start(bool fromScratch = false) { _container = new DockerContainerBuilder(new DockerContainerBuilderOptions { FromImage = "microsoft/mssql-server-linux", Tag = "latest", Name = "mssql-evolve", Env = new[] { $"ACCEPT_EULA=Y", $"SA_PASSWORD={DbPwd}" }, ExposedPort = $"{ExposedPort}/tcp", HostPort = HostPort, DelayAfterStartup = DelayAfterStartup, RemovePreviousContainer = fromScratch }).Build(); return(_container.Start()); }
public bool Start(bool fromScratch = false) { _container = new DockerContainerBuilder(new DockerContainerBuilderOptions { FromImage = "cassandra", Tag = "latest", Name = "cassandra-evolve", Env = new[] { $"CASSANDRA_CLUSTER_NAME={ClusterName}", $"CASSANDRA_DC={DataCenter}", "CASSANDRA_RACK=rack1" }, ExposedPort = $"{ExposedPort}/tcp", HostPort = HostPort, DelayAfterStartup = DelayAfterStartup, RemovePreviousContainer = fromScratch }).Build(); return(_container.Start()); }
public bool Start(bool fromScratch = false) { _container = new DockerContainerBuilder(new DockerContainerBuilderOptions { FromImage = "mariadb", Tag = "latest", Name = "mariadb-evolve", Env = new[] { $"MYSQL_ROOT_PASSWORD={DbPwd}", $"MYSQL_DATABASE={DbName}" }, ExposedPort = $"{ExposedPort}/tcp", HostPort = HostPort, DelayAfterStartup = DelayAfterStartup, RemovePreviousContainer = fromScratch }).Build(); return(_container.Start()); }
public bool Start(bool fromScratch = false) { _container = new DockerContainerBuilder(new DockerContainerBuilderOptions { FromImage = "postgres", Tag = "alpine", Name = "postgres-evolve", Env = new[] { $"POSTGRES_PASSWORD={DbPwd}", $"POSTGRES_DB={DbName}" }, ExposedPort = $"{ExposedPort}/tcp", HostPort = HostPort, DelayAfterStartup = DelayAfterStartup, RemovePreviousContainer = fromScratch }).Build(); return(_container.Start()); }
public DockerContainer Build() { var container = _client.Containers.ListContainersAsync(new ContainersListParameters { All = true }).ConfigureAwait(false).GetAwaiter().GetResult() .FirstOrDefault(x => x.Names.Any(n => n.Equals("/" + Name, StringComparison.OrdinalIgnoreCase))); if (container != null && !RemovePreviousContainer) { return(new DockerContainer(container.ID, DelayAfterStartup)); } if (container != null && RemovePreviousContainer) { var oldContainer = new DockerContainer(container.ID, DelayAfterStartup); oldContainer.Stop(); oldContainer.Remove(); } _client.Images.CreateImageAsync(new ImagesCreateParameters { FromImage = FromImage, Tag = Tag }, null, new Progress <JSONMessage>()).ConfigureAwait(false).GetAwaiter().GetResult(); var newContainer = _client.Containers.CreateContainerAsync(new CreateContainerParameters { Image = $"{FromImage}:{Tag ?? "latest"}", Name = Name, Env = Env, ExposedPorts = new Dictionary <string, EmptyStruct> { { ExposedPort, new EmptyStruct() } }, HostConfig = new HostConfig { PortBindings = new Dictionary <string, IList <PortBinding> > { { ExposedPort, new List <PortBinding> { new PortBinding { HostIP = "localhost", HostPort = HostPort } } } } } }).ConfigureAwait(false).GetAwaiter().GetResult(); return(new DockerContainer(newContainer.ID, DelayAfterStartup)); }