.NET CORE和docker互動
阿新 • • 發佈:2022-12-05
1、引入nuget包
Install-Package Docker.DotNet
2、示例如下,更加詳細命令檢視文件 https://github.com/dotnet/Docker.DotNet
//建立客戶端
using var client = new DockerClientConfiguration() .CreateClient();
//查詢容器列表 IList<ContainerListResponse> containers = await client.Containers.ListContainersAsync(new ContainersListParameters() { Limit = 10, }); foreach (var item in containers) { //根據容器名稱過濾容器,然後重啟 if (item.Names.Any(x => x == "/wvp_pro_compose-wvpRedis-1")) await client.Containers.RestartContainerAsync(item.ID, newContainerRestartParameters() { WaitBeforeKillSeconds = 1 }, CancellationToken.None); }
3、如果是通過docker容器執行的.NET程式,需要掛載docker的sock檔案
docker run -v /var/run/docker.sock:/var/run/docker.sock
參考文件: