示例#1
0
        public override Task <Response> HandleAsync()
        {
            return(Task.Run <Response>(async() =>
            {
                var config = new WardenConfig();
                var handle = new ContainerHandle();

                var containerService = new ContainerService(
                    config.ContainerBasePath,
                    config.WardenUsersGroup);

                var containerSpec = new ContainerSpec
                {
                    Handle = handle,
                    BindMounts = GetBindMounts(request).ToArray(),
                };

                var container = containerService.CreateContainer(containerSpec);
                var containerClient = new ContainerClient(containerService, container, new FileSystemManager());
                await containerClient.InitializeAsync(null, null, null);

                containerManager.AddContainer(containerClient);

                return new CreateResponse {
                    Handle = handle
                };
            }));
        }
示例#2
0
        public IContainer CreateContainer(ContainerSpec spec)
        {
            var container = ContainerService.CreateContainer(spec);

            return(container);
        }