ASP.NET Core应用程序中的控件Docker



是否可以使用ASP.NET Core MVC控制Docker?

我最近写了一个简单的应用程序,可以向打开的cmd进程发送精确的命令(在Windows操作系统上(。我知道这不是实现我想要的最好的解决方案,因为我需要打开新的流程,并赋予它root权限。我想知道是否有一种可能的方法来控制docker容器,该容器使用某种端点在其上运行一些应用程序?或者也许有更好的方法来做这些事情?

Docker有一个HTTP API,可以从其他应用程序(包括web应用程序(调用。您可以在Docker引擎API站点中找到相关文档。您可以使用curl或HttpClient调用API。

还有一个Docker.DotNet隐藏了实现细节。

从示例中复制,一旦安装了NuGet包,就可以列出包含以下内容的容器:

using Docker.DotNet;
DockerClient client = new DockerClientConfiguration(
new Uri("npipe://./pipe/docker_engine"))
.CreateClient();
IList<ContainerListResponse> containers = await client.Containers.ListContainersAsync(
new ContainersListParameters(){
Limit = 10,
});

最新更新