public SolutionComponent(FileInfo path, ProjectSettings settings) { _path = path; _dockerContainer = Docker .ContainerFromImage("mcr.microsoft.com/dotnet/sdk:5.0", $"{settings.GetProjectName()}-dotnet-{Name}") .EntryPoint("dotnet") .WithVolume(path.Directory.FullName, "/usr/local/src", true); }
private static Docker.Container CreateBaseContainer( FileSystemInfo path, ProjectSettings settings, string name) { return(Docker .ContainerFromImage("node", ClientComponent.ClientConfiguration.GetContainerName(settings, name)) .EntryPoint("yarn") .WithVolume(Path.Combine(path.FullName, "src"), "/usr/local/src", true)); }
private CloudflareWorkerComponent( CloudflareWorkerConfiguration configuration, DirectoryInfo path, ProjectSettings settings) { _configuration = configuration; _path = path; _settings = settings; _dockerContainer = Docker .ContainerFromImage("node", $"{settings.GetProjectName()}-cf-{configuration.Name}") .EntryPoint("yarn") .WithVolume(path.FullName, "/usr/src/app", true) .EnvironmentVariable("DESTINATION_PORT", configuration.Settings.DestinationPort.ToString()); _watchContainer = _dockerContainer .WithName($"{_dockerContainer.Name}-watcher"); }
private CloudformationStackComponent( CloudformationStackConfiguration configuration, ProjectSettings settings, DirectoryInfo path, ProjectSettings projectSettings, Components.ComponentTree components) { _configuration = configuration; _path = path; _projectSettings = projectSettings; _components = components; _tempDir = new DirectoryInfo(Path.Combine(path.FullName, ".tmp")); var dataDir = new DirectoryInfo(configuration.GetDataDir(settings)); if (!dataDir.Exists) { dataDir.Create(); } var container = Docker .ContainerFromImage( $"localstack/localstack:{configuration.Settings.LocalstackVersion}", configuration.GetContainerName(projectSettings), false) .Detached() .WithVolume(dataDir.FullName, "/tmp/localstack") .WithDockerSocket() .Port(configuration.Settings.MainPort, 8080) .Port(configuration.Settings.ServicesPort, 4566) .EnvironmentVariable("SERVICES", string.Join(",", (configuration.Settings.Services ?? new List <string>()))) .EnvironmentVariable("DATA_DIR", "/tmp/localstack/data") .EnvironmentVariable("LAMBDA_REMOTE_DOCKER", "0") .EnvironmentVariable("DEBUG", "1") .EnvironmentVariable("LOCALSTACK_API_KEY", projectSettings.GetConfiguration("localstackApiKey")); _dockerContainer = configuration .Settings .PortMappings .Aggregate(container, (current, portMapping) => current.WithArgument($"-p {portMapping}")); }